diff --git a/js/activity-132.js b/js/activity-132.js new file mode 100644 index 000000000..50c6f166d --- /dev/null +++ b/js/activity-132.js @@ -0,0 +1,3 @@ +/*! For license information please see activity-132.js.LICENSE.txt */ +(self.webpackChunkactivity=self.webpackChunkactivity||[]).push([[132],{90478:(e,t,a)=>{"use strict";var i=a(50791),r=Object.prototype.hasOwnProperty,n={align:"text-align",valign:"vertical-align",height:"height",width:"width"};function o(e){var t;if("tr"===e.tagName||"td"===e.tagName||"th"===e.tagName)for(t in n)r.call(n,t)&&void 0!==e.properties[t]&&(u(e,n[t],e.properties[t]),delete e.properties[t])}function u(e,t,a){var i=(e.properties.style||"").trim();i&&!/;\s*/.test(i)&&(i+=";"),i&&(i+=" ");var r=i+t+": "+a+";";e.properties.style=r}e.exports=function(e){return i(e,"element",o),e}},93790:e=>{"use strict";function t(e){if("string"==typeof e)return function(e){return function(t){return Boolean(t&&t.type===e)}}(e);if(null==e)return r;if("object"==typeof e)return("length"in e?i:a)(e);if("function"==typeof e)return e;throw new Error("Expected function, string, or object as test")}function a(e){return function(t){var a;for(a in e)if(t[a]!==e[a])return!1;return!0}}function i(e){var a=function(e){for(var a=[],i=e.length,r=-1;++r{"use strict";e.exports=u;var i=a(93790),r=!0,n="skip",o=!1;function u(e,t,a,r){var u;"function"==typeof t&&"function"!=typeof a&&(r=a,a=t,t=null),u=i(t),function e(i,_,f){var l,g=[];return(t&&!u(i,_,f[f.length-1]||null)||(g=s(a(i,f)))[0]!==o)&&i.children&&g[0]!==n?(l=s(function(t,a){for(var i,n=r?-1:1,u=(r?t.length:-1)+n;u>-1&&u{"use strict";e.exports=u;var i=a(11150),r=i.CONTINUE,n=i.SKIP,o=i.EXIT;function u(e,t,a,r){"function"==typeof t&&"function"!=typeof a&&(r=a,a=t,t=null),i(e,t,(function(e,t){var i=t[t.length-1],r=i?i.children.indexOf(e):null;return a(e,r,i)}),r)}u.CONTINUE=r,u.SKIP=n,u.EXIT=o},62466:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(48764);function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(a(41487));var o=function(e){return new Promise((function(t){if(u(e)){var a=new FileReader;a.onload=function(){t(a.result)},a.readAsText(e)}else t(e.toString("utf-8"))}))},u=function(e){return void 0!==e.size};t.sanitizeSVG=function(e){return t=void 0,a=void 0,u=function(){var t,a,r,u,s;return function(e,t){var a,i,r,n,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return n={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function u(n){return function(u){return function(n){if(a)throw new TypeError("Generator is already executing.");for(;o;)try{if(a=1,i&&(r=2&n[0]?i.return:n[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,n[1])).done)return r;switch(i=0,r&&(n=[2&n[0],r.value]),n[0]){case 0:case 1:r=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]{"use strict";var i=a(79742),r=a(80645);t.Buffer=u,t.SlowBuffer=function(e){return+e!=e&&(e=0),u.alloc(+e)},t.INSPECT_MAX_BYTES=50;var n=2147483647;function o(e){if(e>n)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=u.prototype,t}function u(e,t,a){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return s(e,t,a)}function s(e,t,a){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!u.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var a=0|F(e,t),i=o(a),r=i.write(e,t);return r!==a&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(N(e,ArrayBuffer)||e&&N(e.buffer,ArrayBuffer))return function(e,t,a){if(t<0||e.byteLength=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|e}function F(e,t){if(u.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||N(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var a=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===a)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return a;case"utf8":case"utf-8":return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*a;case"hex":return a>>>1;case"base64":return z(e).length;default:if(r)return i?-1:L(e).length;t=(""+t).toLowerCase(),r=!0}}function h(e,t,a){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),a<=0)return"";if((a>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return B(this,t,a);case"utf8":case"utf-8":return v(this,t,a);case"ascii":return C(this,t,a);case"latin1":case"binary":return j(this,t,a);case"base64":return E(this,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,t,a);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function d(e,t,a){var i=e[t];e[t]=e[a],e[a]=i}function c(e,t,a,i,r){if(0===e.length)return-1;if("string"==typeof a?(i=a,a=0):a>2147483647?a=2147483647:a<-2147483648&&(a=-2147483648),R(a=+a)&&(a=r?0:e.length-1),a<0&&(a=e.length+a),a>=e.length){if(r)return-1;a=e.length-1}else if(a<0){if(!r)return-1;a=0}if("string"==typeof t&&(t=u.from(t,i)),u.isBuffer(t))return 0===t.length?-1:m(e,t,a,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,a):Uint8Array.prototype.lastIndexOf.call(e,t,a):m(e,[t],a,i,r);throw new TypeError("val must be string, number or Buffer")}function m(e,t,a,i,r){var n,o=1,u=e.length,s=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,a/=2}function _(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var f=-1;for(n=a;nu&&(a=u-s),n=a;n>=0;n--){for(var l=!0,g=0;gr&&(i=r):i=r;var n=t.length;i>n/2&&(i=n/2);for(var o=0;o>8,r=a%256,n.push(r),n.push(i);return n}(t,e.length-a),e,a,i)}function E(e,t,a){return 0===t&&a===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,a))}function v(e,t,a){a=Math.min(e.length,a);for(var i=[],r=t;r239?4:_>223?3:_>191?2:1;if(r+l<=a)switch(l){case 1:_<128&&(f=_);break;case 2:128==(192&(n=e[r+1]))&&(s=(31&_)<<6|63&n)>127&&(f=s);break;case 3:n=e[r+1],o=e[r+2],128==(192&n)&&128==(192&o)&&(s=(15&_)<<12|(63&n)<<6|63&o)>2047&&(s<55296||s>57343)&&(f=s);break;case 4:n=e[r+1],o=e[r+2],u=e[r+3],128==(192&n)&&128==(192&o)&&128==(192&u)&&(s=(15&_)<<18|(63&n)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(f=s)}null===f?(f=65533,l=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),r+=l}return function(e){var t=e.length;if(t<=x)return String.fromCharCode.apply(String,e);for(var a="",i=0;ia&&(e+=" ... "),""},u.prototype.compare=function(e,t,a,i,r){if(N(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===a&&(a=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||a>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=a)return 0;if(i>=r)return-1;if(t>=a)return 1;if(this===e)return 0;for(var n=(r>>>=0)-(i>>>=0),o=(a>>>=0)-(t>>>=0),s=Math.min(n,o),_=this.slice(i,r),f=e.slice(t,a),l=0;l>>=0,isFinite(a)?(a>>>=0,void 0===i&&(i="utf8")):(i=a,a=void 0)}var r=this.length-t;if((void 0===a||a>r)&&(a=r),e.length>0&&(a<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var n=!1;;)switch(i){case"hex":return p(this,e,t,a);case"utf8":case"utf-8":return b(this,e,t,a);case"ascii":return y(this,e,t,a);case"latin1":case"binary":return k(this,e,t,a);case"base64":return D(this,e,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,a);default:if(n)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),n=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var x=4096;function C(e,t,a){var i="";a=Math.min(e.length,a);for(var r=t;rr)&&(a=r);for(var n="",o=t;oa)throw new RangeError("Trying to access beyond buffer length")}function S(e,t,a,i,r,n){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function T(e,t,a,i,r,n){if(a+i>e.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("Index out of range")}function P(e,t,a,i,n){return t=+t,a>>>=0,n||T(e,0,a,4),r.write(e,t,a,i,23,4),a+4}function M(e,t,a,i,n){return t=+t,a>>>=0,n||T(e,0,a,8),r.write(e,t,a,i,52,8),a+8}u.prototype.slice=function(e,t){var a=this.length;(e=~~e)<0?(e+=a)<0&&(e=0):e>a&&(e=a),(t=void 0===t?a:~~t)<0?(t+=a)<0&&(t=0):t>a&&(t=a),t>>=0,t>>>=0,a||A(e,t,this.length);for(var i=this[e],r=1,n=0;++n>>=0,t>>>=0,a||A(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},u.prototype.readUInt8=function(e,t){return e>>>=0,t||A(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return e>>>=0,t||A(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return e>>>=0,t||A(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return e>>>=0,t||A(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return e>>>=0,t||A(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,a){e>>>=0,t>>>=0,a||A(e,t,this.length);for(var i=this[e],r=1,n=0;++n=(r*=128)&&(i-=Math.pow(2,8*t)),i},u.prototype.readIntBE=function(e,t,a){e>>>=0,t>>>=0,a||A(e,t,this.length);for(var i=t,r=1,n=this[e+--i];i>0&&(r*=256);)n+=this[e+--i]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*t)),n},u.prototype.readInt8=function(e,t){return e>>>=0,t||A(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){e>>>=0,t||A(e,2,this.length);var a=this[e]|this[e+1]<<8;return 32768&a?4294901760|a:a},u.prototype.readInt16BE=function(e,t){e>>>=0,t||A(e,2,this.length);var a=this[e+1]|this[e]<<8;return 32768&a?4294901760|a:a},u.prototype.readInt32LE=function(e,t){return e>>>=0,t||A(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return e>>>=0,t||A(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return e>>>=0,t||A(e,4,this.length),r.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return e>>>=0,t||A(e,4,this.length),r.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return e>>>=0,t||A(e,8,this.length),r.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return e>>>=0,t||A(e,8,this.length),r.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,a,i){e=+e,t>>>=0,a>>>=0,i||S(this,e,t,a,Math.pow(2,8*a)-1,0);var r=1,n=0;for(this[t]=255&e;++n>>=0,a>>>=0,i||S(this,e,t,a,Math.pow(2,8*a)-1,0);var r=a-1,n=1;for(this[t+r]=255&e;--r>=0&&(n*=256);)this[t+r]=e/n&255;return t+a},u.prototype.writeUInt8=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,1,255,0),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeUInt16BE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeUInt32LE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},u.prototype.writeUInt32BE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeIntLE=function(e,t,a,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*a-1);S(this,e,t,a,r-1,-r)}var n=0,o=1,u=0;for(this[t]=255&e;++n>0)-u&255;return t+a},u.prototype.writeIntBE=function(e,t,a,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*a-1);S(this,e,t,a,r-1,-r)}var n=a-1,o=1,u=0;for(this[t+n]=255&e;--n>=0&&(o*=256);)e<0&&0===u&&0!==this[t+n+1]&&(u=1),this[t+n]=(e/o>>0)-u&255;return t+a},u.prototype.writeInt8=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeInt16BE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeInt32LE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},u.prototype.writeInt32BE=function(e,t,a){return e=+e,t>>>=0,a||S(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeFloatLE=function(e,t,a){return P(this,e,t,!0,a)},u.prototype.writeFloatBE=function(e,t,a){return P(this,e,t,!1,a)},u.prototype.writeDoubleLE=function(e,t,a){return M(this,e,t,!0,a)},u.prototype.writeDoubleBE=function(e,t,a){return M(this,e,t,!1,a)},u.prototype.copy=function(e,t,a,i){if(!u.isBuffer(e))throw new TypeError("argument should be a Buffer");if(a||(a=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--n)e[n+t]=this[n+a];else Uint8Array.prototype.set.call(e,this.subarray(a,i),t);return r},u.prototype.fill=function(e,t,a,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,a=this.length):"string"==typeof a&&(i=a,a=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!u.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var r=e.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(e=r)}}else"number"==typeof e&&(e&=255);if(t<0||this.length>>=0,a=void 0===a?this.length:a>>>0,e||(e=0),"number"==typeof e)for(n=t;n55295&&a<57344){if(!r){if(a>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&n.push(239,191,189);continue}r=a;continue}if(a<56320){(t-=3)>-1&&n.push(239,191,189),r=a;continue}a=65536+(r-55296<<10|a-56320)}else r&&(t-=3)>-1&&n.push(239,191,189);if(r=null,a<128){if((t-=1)<0)break;n.push(a)}else if(a<2048){if((t-=2)<0)break;n.push(a>>6|192,63&a|128)}else if(a<65536){if((t-=3)<0)break;n.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return n}function z(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(O,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function I(e,t,a,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+a]=e[r];return r}function N(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function R(e){return e!=e}},20296:e=>{function t(e,t,a){var i,r,n,o,u;function s(){var _=Date.now()-o;_=0?i=setTimeout(s,t-_):(i=null,a||(u=e.apply(n,r),n=r=null))}null==t&&(t=100);var _=function(){n=this,r=arguments,o=Date.now();var _=a&&!i;return i||(i=setTimeout(s,t)),_&&(u=e.apply(n,r),n=r=null),u};return _.clear=function(){i&&(clearTimeout(i),i=null)},_.flush=function(){i&&(u=e.apply(n,r),n=r=null,clearTimeout(i),i=null)},_}t.debounce=t,e.exports=t},59673:function(e){"undefined"!=typeof self&&self,e.exports=function(){var e={661:function(){"undefined"!=typeof window&&function(){for(var e=0,t=["ms","moz","webkit","o"],a=0;ae.length)&&(t=e.length);for(var a=0,i=new Array(t);a=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}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 n,o=!0,u=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return o=e.done,e},e:function(e){u=!0,n=e},f:function(){try{o||null==a.return||a.return()}finally{if(u)throw n}}}}(Object.getOwnPropertyNames(e));try{for(a.s();!(t=a.n()).done;){var i=t.value,r=e[i];e[i]=r&&"object"===_(r)?F(r):r}}catch(e){a.e(e)}finally{a.f()}return Object.freeze(e)}var h,d,c=function(e){if(!e.compressed)return e;for(var t in e.compressed=!1,e.emojis){var a=e.emojis[t];for(var i in l)a[i]=a[l[i]],delete a[l[i]];a.short_names||(a.short_names=[]),a.short_names.unshift(t),a.sheet_x=a.sheet[0],a.sheet_y=a.sheet[1],delete a.sheet,a.text||(a.text=""),a.added_in||(a.added_in=6),a.added_in=a.added_in.toFixed(1),a.search=g(a)}return F(e)},m=["+1","grinning","kissing_heart","heart_eyes","laughing","stuck_out_tongue_winking_eye","sweat_smile","joy","scream","disappointed","unamused","weary","sob","sunglasses","heart","hankey"],p={};function b(){d=!0,h=s.get("frequently")}var y={add:function(e){d||b();var t=e.id;h||(h=p),h[t]||(h[t]=0),h[t]+=1,s.set("last",t),s.set("frequently",h)},get:function(e){if(d||b(),!h){p={};for(var t=[],a=Math.min(e,m.length),i=0;i',custom:'',flags:'',foods:'',nature:'',objects:'',smileys:'',people:' ',places:'',recent:'',symbols:''};function D(e,t,a,i,r,n,o,u){var s,_="function"==typeof e?e.options:e;if(t&&(_.render=t,_.staticRenderFns=a,_._compiled=!0),i&&(_.functional=!0),n&&(_._scopeId="data-v-"+n),o?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},_._ssrRegister=s):r&&(s=u?function(){r.call(this,(_.functional?this.parent:this).$root.$options.shadowRoot)}:r),s)if(_.functional){_._injectStyles=s;var f=_.render;_.render=function(e,t){return s.call(t),f(e,t)}}else{var l=_.beforeCreate;_.beforeCreate=l?[].concat(l,s):[s]}return{exports:e,options:_}}var w=D({props:{i18n:{type:Object,required:!0},color:{type:String},categories:{type:Array,required:!0},activeCategory:{type:Object,default:function(){return{}}}},created:function(){this.svgs=k}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"emoji-mart-anchors",attrs:{role:"tablist"}},e._l(e.categories,(function(t){return a("button",{key:t.id,class:{"emoji-mart-anchor":!0,"emoji-mart-anchor-selected":t.id==e.activeCategory.id},style:{color:t.id==e.activeCategory.id?e.color:""},attrs:{role:"tab",type:"button","aria-label":t.name,"aria-selected":t.id==e.activeCategory.id,"data-title":e.i18n.categories[t.id]},on:{click:function(a){return e.$emit("click",t)}}},[a("div",{attrs:{"aria-hidden":"true"},domProps:{innerHTML:e._s(e.svgs[t.id])}}),e._v(" "),a("span",{staticClass:"emoji-mart-anchor-bar",style:{backgroundColor:e.color},attrs:{"aria-hidden":"true"}})])})),0)}),[],!1,null,null,null),E=w.exports;function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function x(e,t){for(var a=0;a1114111||Math.floor(o)!=o)throw RangeError("Invalid code point: "+o);o<=65535?a.push(o):(e=55296+((o-=65536)>>10),t=o%1024+56320,a.push(e,t)),(i+1===r||a.length>16384)&&(n+=String.fromCharCode.apply(null,a),a.length=0)}return n};function B(e){var t=e.split("-").map((function(e){return"0x".concat(e)}));return j.apply(null,t)}function q(e){return e.reduce((function(e,t){return-1===e.indexOf(t)&&e.push(t),e}),[])}function A(e,t){var a=q(e),i=q(t);return a.filter((function(e){return i.indexOf(e)>=0}))}function S(e,t){var a={};for(var i in e){var r=e[i],n=r;t.hasOwnProperty(i)&&(n=t[i]),"object"===_(n)&&(n=S(r,n)),a[i]=n}return a}function T(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=function(e,t){if(e){if("string"==typeof e)return P(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?P(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}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 n,o=!0,u=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return o=e.done,e},e:function(e){u=!0,n=e},f:function(){try{o||null==a.return||a.return()}finally{if(u)throw n}}}}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=new Array(t);a1&&void 0!==arguments[1]?arguments[1]:{},i=a.emojisToShowFilter,r=a.include,n=a.exclude,o=a.custom,u=a.recent,s=a.recentLength,_=void 0===s?20:s;v(this,e),this._data=c(t),this._emojisFilter=i||null,this._include=r||null,this._exclude=n||null,this._custom=o||[],this._recent=u||y.get(_),this._emojis={},this._nativeEmojis={},this._emoticons={},this._categories=[],this._recentCategory={id:"recent",name:"Recent",emojis:[]},this._customCategory={id:"custom",name:"Custom",emojis:[]},this._searchIndex={},this.buildIndex(),Object.freeze(this)}return C(e,[{key:"buildIndex",value:function(){var e=this,t=this._data.categories;if(this._include&&(t=(t=t.filter((function(t){return e._include.includes(t.id)}))).sort((function(t,a){var i=e._include.indexOf(t.id),r=e._include.indexOf(a.id);return ir?1:0}))),t.forEach((function(t){if(e.isCategoryNeeded(t.id)){var a={id:t.id,name:t.name,emojis:[]};t.emojis.forEach((function(t){var i=e.addEmoji(t);i&&a.emojis.push(i)})),a.emojis.length&&e._categories.push(a)}})),this.isCategoryNeeded("custom")){if(this._custom.length>0){var a,i=T(this._custom);try{for(i.s();!(a=i.n()).done;){var r=a.value;this.addCustomEmoji(r)}}catch(e){i.e(e)}finally{i.f()}}this._customCategory.emojis.length&&this._categories.push(this._customCategory)}this.isCategoryNeeded("recent")&&(this._recent.length&&this._recent.map((function(t){var a,i=T(e._customCategory.emojis);try{for(i.s();!(a=i.n()).done;){var r=a.value;if(r.id===t)return void e._recentCategory.emojis.push(r)}}catch(e){i.e(e)}finally{i.f()}e.hasEmoji(t)&&e._recentCategory.emojis.push(e.emoji(t))})),this._recentCategory.emojis.length&&this._categories.unshift(this._recentCategory))}},{key:"findEmoji",value:function(e,t){var a=e.match(M);if(a&&(e=a[1],a[2]&&(t=parseInt(a[2],10))),this._data.aliases.hasOwnProperty(e)&&(e=this._data.aliases[e]),this._emojis.hasOwnProperty(e)){var i=this._emojis[e];return t?i.getSkin(t):i}return this._nativeEmojis.hasOwnProperty(e)?this._nativeEmojis[e]:null}},{key:"categories",value:function(){return this._categories}},{key:"emoji",value:function(e){this._data.aliases.hasOwnProperty(e)&&(e=this._data.aliases[e]);var t=this._emojis[e];if(!t)throw new Error("Can not find emoji by id: "+e);return t}},{key:"firstEmoji",value:function(){var e=this._emojis[Object.keys(this._emojis)[0]];if(!e)throw new Error("Can not get first emoji");return e}},{key:"hasEmoji",value:function(e){return this._data.aliases.hasOwnProperty(e)&&(e=this._data.aliases[e]),!!this._emojis[e]}},{key:"nativeEmoji",value:function(e){return this._nativeEmojis.hasOwnProperty(e)?this._nativeEmojis[e]:null}},{key:"search",value:function(e,t){var a=this;if(t||(t=75),!e.length)return null;if("-"==e||"-1"==e)return[this.emoji("-1")];var i,r=e.toLowerCase().split(/[\s|,|\-|_]+/);r.length>2&&(r=[r[0],r[1]]),i=r.map((function(e){for(var t=a._emojis,i=a._searchIndex,r=0,n=0;n1?A.apply(null,i):i.length?i[0]:[])&&n.length>t&&(n=n.slice(0,t)),n}},{key:"addCustomEmoji",value:function(e){var t=Object.assign({},e,{id:e.short_names[0],custom:!0});t.search||(t.search=g(t));var a=new z(t);return this._emojis[a.id]=a,this._customCategory.emojis.push(a),a}},{key:"addEmoji",value:function(e){var t=this,a=this._data.emojis[e];if(!this.isEmojiNeeded(a))return!1;var i=new z(a);if(this._emojis[e]=i,i.native&&(this._nativeEmojis[i.native]=i),i._skins)for(var r in i._skins){var n=i._skins[r];n.native&&(this._nativeEmojis[n.native]=n)}return i.emoticons&&i.emoticons.forEach((function(a){t._emoticons[a]||(t._emoticons[a]=e)})),i}},{key:"isCategoryNeeded",value:function(e){var t=!this._include||!this._include.length||this._include.indexOf(e)>-1,a=!(!this._exclude||!this._exclude.length)&&this._exclude.indexOf(e)>-1;return!(!t||a)}},{key:"isEmojiNeeded",value:function(e){return!this._emojisFilter||this._emojisFilter(e)}}]),e}(),z=function(){function e(t){if(v(this,e),this._data=Object.assign({},t),this._skins=null,this._data.skin_variations)for(var a in this._skins=[],O){var i=O[a],r=this._data.skin_variations[i],n=Object.assign({},t);for(var o in r)n[o]=r[o];delete n.skin_variations,n.skin_tone=parseInt(a)+1,this._skins.push(new e(n))}for(var u in this._sanitized=N(this._data),this._sanitized)this[u]=this._sanitized[u];this.short_names=this._data.short_names,this.short_name=this._data.short_names[0],Object.freeze(this)}return C(e,[{key:"getSkin",value:function(e){return e&&"native"!=e&&this._skins?this._skins[e-1]:this}},{key:"getPosition",value:function(){var e=+(100/60*this._data.sheet_x).toFixed(2),t=+(100/60*this._data.sheet_y).toFixed(2);return"".concat(e,"% ").concat(t,"%")}},{key:"ariaLabel",value:function(){return[this.native].concat(this.short_names).filter(Boolean).join(", ")}}]),e}(),I=function(){function e(t,a,i,r,n,o,u){v(this,e),this._emoji=t,this._native=r,this._skin=a,this._set=i,this._fallback=n,this.canRender=this._canRender(),this.cssClass=this._cssClass(),this.cssStyle=this._cssStyle(u),this.content=this._content(),this.title=!0===o?t.short_name:null,this.ariaLabel=t.ariaLabel(),Object.freeze(this)}return C(e,[{key:"getEmoji",value:function(){return this._emoji.getSkin(this._skin)}},{key:"_canRender",value:function(){return this._isCustom()||this._isNative()||this._hasEmoji()||this._fallback}},{key:"_cssClass",value:function(){return["emoji-set-"+this._set,"emoji-type-"+this._emojiType()]}},{key:"_cssStyle",value:function(e){var t={};return this._isCustom()?t={backgroundImage:"url("+this.getEmoji()._data.imageUrl+")",backgroundSize:"100%",width:e+"px",height:e+"px"}:this._hasEmoji()&&!this._isNative()&&(t={backgroundPosition:this.getEmoji().getPosition()}),e&&(t=this._isNative()?Object.assign(t,{fontSize:Math.round(.95*e*10)/10+"px"}):Object.assign(t,{width:e+"px",height:e+"px"})),t}},{key:"_content",value:function(){return this._isCustom()?"":this._isNative()?this.getEmoji().native:this._hasEmoji()?"":this._fallback?this._fallback(this.getEmoji()):null}},{key:"_isNative",value:function(){return this._native}},{key:"_isCustom",value:function(){return this.getEmoji().custom}},{key:"_hasEmoji",value:function(){if(!this.getEmoji()._data)return!1;var e=this.getEmoji()._data["has_img_"+this._set];return void 0===e||e}},{key:"_emojiType",value:function(){return this._isCustom()?"custom":this._isNative()?"native":this._hasEmoji()?"image":"fallback"}}]),e}();function N(e){var t=e.name,a=e.short_names,i=e.skin_tone,r=e.skin_variations,n=e.emoticons,o=e.unified,u=e.custom,s=e.imageUrl,_=e.id||a[0],f=":".concat(_,":");return u?{id:_,name:t,colons:f,emoticons:n,custom:u,imageUrl:s}:(i&&(f+=":skin-tone-".concat(i,":")),{id:_,name:t,colons:f,emoticons:n,unified:o.toLowerCase(),skin:i||(r?1:null),native:B(o)})}function R(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var H={native:{type:Boolean,default:!1},tooltip:{type:Boolean,default:!1},fallback:{type:Function},skin:{type:Number,default:1},set:{type:String,default:"apple"},emoji:{type:[String,Object],required:!0},size:{type:Number,default:null},tag:{type:String,default:"span"}},W={perLine:{type:Number,default:9},maxSearchResults:{type:Number,default:75},emojiSize:{type:Number,default:24},title:{type:String,default:"Emoji Mart™"},emoji:{type:String,default:"department_store"},color:{type:String,default:"#ae65c5"},set:{type:String,default:"apple"},skin:{type:Number,default:null},defaultSkin:{type:Number,default:1},native:{type:Boolean,default:!1},emojiTooltip:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1},i18n:{type:Object,default:function(){return{}}},showPreview:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showCategories:{type:Boolean,default:!0},showSkinTones:{type:Boolean,default:!0},infiniteScroll:{type:Boolean,default:!0},pickerStyles:{type:Object,default:function(){return{}}}};function V(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function U(e){for(var t=1;t0},emojiObjects:function(){var e=this;return this.emojis.map((function(t){return{emojiObject:t,emojiView:new I(t,e.emojiProps.skin,e.emojiProps.set,e.emojiProps.native,e.emojiProps.fallback,e.emojiProps.emojiTooltip,e.emojiProps.emojiSize)}}))}},components:{Emoji:$}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.isVisible&&(e.isSearch||e.hasResults)?a("section",{class:{"emoji-mart-category":!0,"emoji-mart-no-results":!e.hasResults},attrs:{"aria-label":e.i18n.categories[e.id]}},[a("div",{staticClass:"emoji-mart-category-label"},[a("h3",{staticClass:"emoji-mart-category-label"},[e._v(e._s(e.i18n.categories[e.id]))])]),e._v(" "),e._l(e.emojiObjects,(function(t){var i=t.emojiObject,r=t.emojiView;return[r.canRender?a("button",{key:i.id,staticClass:"emoji-mart-emoji",class:e.activeClass(i),attrs:{"aria-label":r.ariaLabel,role:"option","aria-selected":"false","aria-posinset":"1","aria-setsize":"1812",type:"button","data-title":i.short_name,title:r.title},on:{mouseenter:function(t){e.emojiProps.onEnter(r.getEmoji())},mouseleave:function(t){e.emojiProps.onLeave(r.getEmoji())},click:function(t){e.emojiProps.onClick(r.getEmoji())}}},[a("span",{class:r.cssClass,style:r.cssStyle},[e._v(e._s(r.content))])]):e._e()]})),e._v(" "),e.hasResults?e._e():a("div",[a("emoji",{attrs:{data:e.data,emoji:"sleuth_or_spy",native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}}),e._v(" "),a("div",{staticClass:"emoji-mart-no-results-label"},[e._v(e._s(e.i18n.notfound))])],1)],2):e._e()}),[],!1,null,null,null).exports,K=D({props:{skin:{type:Number,required:!0}},data:function(){return{opened:!1}},methods:{onClick:function(e){this.opened&&e!=this.skin&&this.$emit("change",e),this.opened=!this.opened}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:{"emoji-mart-skin-swatches":!0,"emoji-mart-skin-swatches-opened":e.opened}},e._l(6,(function(t){return a("span",{key:t,class:{"emoji-mart-skin-swatch":!0,"emoji-mart-skin-swatch-selected":e.skin==t}},[a("span",{class:"emoji-mart-skin emoji-mart-skin-tone-"+t,on:{click:function(a){return e.onClick(t)}}})])})),0)}),[],!1,null,null,null).exports,Y=D({props:{data:{type:Object,required:!0},title:{type:String,required:!0},emoji:{type:[String,Object]},idleEmoji:{type:[String,Object],required:!0},showSkinTones:{type:Boolean,default:!0},emojiProps:{type:Object,required:!0},skinProps:{type:Object,required:!0},onSkinChange:{type:Function,required:!0}},computed:{emojiData:function(){return this.emoji?this.emoji:{}},emojiShortNames:function(){return this.emojiData.short_names},emojiEmoticons:function(){return this.emojiData.emoticons}},components:{Emoji:$,Skins:K}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"emoji-mart-preview"},[e.emoji?[a("div",{staticClass:"emoji-mart-preview-emoji"},[a("emoji",{attrs:{data:e.data,emoji:e.emoji,native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}})],1),e._v(" "),a("div",{staticClass:"emoji-mart-preview-data"},[a("div",{staticClass:"emoji-mart-preview-name"},[e._v(e._s(e.emoji.name))]),e._v(" "),a("div",{staticClass:"emoji-mart-preview-shortnames"},e._l(e.emojiShortNames,(function(t){return a("span",{key:t,staticClass:"emoji-mart-preview-shortname"},[e._v(":"+e._s(t)+":")])})),0),e._v(" "),a("div",{staticClass:"emoji-mart-preview-emoticons"},e._l(e.emojiEmoticons,(function(t){return a("span",{key:t,staticClass:"emoji-mart-preview-emoticon"},[e._v(e._s(t))])})),0)])]:[a("div",{staticClass:"emoji-mart-preview-emoji"},[a("emoji",{attrs:{data:e.data,emoji:e.idleEmoji,native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}})],1),e._v(" "),a("div",{staticClass:"emoji-mart-preview-data"},[a("span",{staticClass:"emoji-mart-title-label"},[e._v(e._s(e.title))])]),e._v(" "),e.showSkinTones?a("div",{staticClass:"emoji-mart-preview-skins"},[a("skins",{attrs:{skin:e.skinProps.skin},on:{change:function(t){return e.onSkinChange(t)}}})],1):e._e()]],2)}),[],!1,null,null,null).exports,X=D({props:{data:{type:Object,required:!0},i18n:{type:Object,required:!0},autoFocus:{type:Boolean,default:!1},onSearch:{type:Function,required:!0},onArrowLeft:{type:Function,required:!1},onArrowRight:{type:Function,required:!1},onArrowDown:{type:Function,required:!1},onArrowUp:{type:Function,required:!1},onEnter:{type:Function,required:!1}},data:function(){return{value:""}},computed:{emojiIndex:function(){return this.data}},watch:{value:function(){this.$emit("search",this.value)}},methods:{clear:function(){this.value=""}},mounted:function(){var e=this.$el.querySelector("input");this.autoFocus&&e.focus()}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"emoji-mart-search"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],attrs:{type:"text",placeholder:e.i18n.search,role:"textbox","aria-autocomplete":"list","aria-owns":"emoji-mart-list","aria-label":"Search for an emoji","aria-describedby":"emoji-mart-search-description"},domProps:{value:e.value},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:function(t){return e.$emit("arrowLeft",t)}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:function(){return e.$emit("arrowRight")}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:function(){return e.$emit("arrowDown")}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:function(t){return e.$emit("arrowUp",t)}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:function(){return e.$emit("enter")}.apply(null,arguments)}],input:function(t){t.target.composing||(e.value=t.target.value)}}}),e._v(" "),a("span",{staticClass:"hidden",attrs:{id:"emoji-picker-search-description"}},[e._v("Use the left, right, up and down arrow keys to navigate the emoji search\n results.")])])}),[],!1,null,null,null),Z=X.exports;function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=new Array(t);a0})),this._categories[0].first=!0,Object.freeze(this._categories),this.activeCategory=this._categories[0],this.searchEmojis=null,this.previewEmoji=null,this.previewEmojiCategoryIdx=0,this.previewEmojiIdx=-1}return C(e,[{key:"onScroll",value:function(){for(var e=this._vm.$refs.scroll.scrollTop,t=this.filteredCategories[0],a=0,i=this.filteredCategories.length;ae)break;t=r}this.activeCategory=t}},{key:"allCategories",get:function(){return this._categories}},{key:"filteredCategories",get:function(){return this.searchEmojis?[{id:"search",name:"Search",emojis:this.searchEmojis}]:this._categories.filter((function(e){return e.emojis.length>0}))}},{key:"previewEmojiCategory",get:function(){return this.previewEmojiCategoryIdx>=0?this.filteredCategories[this.previewEmojiCategoryIdx]:null}},{key:"onAnchorClick",value:function(e){var t=this;if(!this.searchEmojis){var a=this.filteredCategories.indexOf(e),i=this._vm.getCategoryComponent(a);this._vm.infiniteScroll?function(){if(i){var a=i.$el.offsetTop;e.first&&(a=0),t._vm.$refs.scroll.scrollTop=a}}():this.activeCategory=this.filteredCategories[a]}}},{key:"onSearch",value:function(e){var t=this._data.search(e,this.maxSearchResults);this.searchEmojis=t,this.previewEmojiCategoryIdx=0,this.previewEmojiIdx=0,this.updatePreviewEmoji()}},{key:"onEmojiEnter",value:function(e){this.previewEmoji=e,this.previewEmojiIdx=-1,this.previewEmojiCategoryIdx=-1}},{key:"onEmojiLeave",value:function(e){this.previewEmoji=null}},{key:"onArrowLeft",value:function(){this.previewEmojiIdx>0?this.previewEmojiIdx-=1:(this.previewEmojiCategoryIdx-=1,this.previewEmojiCategoryIdx<0?this.previewEmojiCategoryIdx=0:this.previewEmojiIdx=this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length-1),this.updatePreviewEmoji()}},{key:"onArrowRight",value:function(){this.previewEmojiIdx=this.filteredCategories.length?this.previewEmojiCategoryIdx=this.filteredCategories.length-1:this.previewEmojiIdx=0),this.updatePreviewEmoji()}},{key:"onArrowDown",value:function(){if(-1==this.previewEmojiIdx)return this.onArrowRight();var e=this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length,t=this._perLine;this.previewEmojiIdx+t>e&&(t=e%this._perLine);for(var a=0;a0?this.filteredCategories[this.previewEmojiCategoryIdx-1].emojis.length%this._perLine:0);for(var t=0;ti+t.scrollTop&&(t.scrollTop+=a.offsetHeight),a&&a.offsetTop{"use strict";var t=Object.prototype.hasOwnProperty,a=Object.prototype.toString,i=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===a.call(e)},o=function(e){if(!e||"[object Object]"!==a.call(e))return!1;var i,r=t.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;for(i in e);return void 0===i||t.call(e,i)},u=function(e,t){i&&"__proto__"===t.name?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},s=function(e,a){if("__proto__"===a){if(!t.call(e,a))return;if(r)return r(e,a).value}return e[a]};e.exports=function e(){var t,a,i,r,_,f,l=arguments[0],g=1,F=arguments.length,h=!1;for("boolean"==typeof l&&(h=l,l=arguments[1]||{},g=2),(null==l||"object"!=typeof l&&"function"!=typeof l)&&(l={});g{"use strict";const i=a(78501),r=a(58844),n=a(41192);e.exports={XMLParser:r,XMLValidator:i,XMLBuilder:n}},17849:(e,t)=>{"use strict";const a=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+a+"]["+a+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",r=new RegExp("^"+i+"$");t.isExist=function(e){return void 0!==e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,a){if(t){const i=Object.keys(t),r=i.length;for(let n=0;n{"use strict";const i=a(17849),r={allowBooleanAttributes:!1,unpairedTags:[]};function n(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function o(e,t){const a=t;for(;t5&&"xml"===i)return h("InvalidXml","XML declaration allowed only at the start of the document.",c(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function u(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let a=1;for(t+=8;t"===e[t]&&(a--,0===a))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=Object.assign({},r,t);const a=[];let s=!1,_=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let r=0;r"!==e[r]&&" "!==e[r]&&"\t"!==e[r]&&"\n"!==e[r]&&"\r"!==e[r];r++)p+=e[r];if(p=p.trim(),"/"===p[p.length-1]&&(p=p.substring(0,p.length-1),r--),l=p,!i.isName(l)){let t;return t=0===p.trim().length?"Invalid space after '<'.":"Tag '"+p+"' is an invalid name.",h("InvalidTag",t,c(e,r))}const b=f(e,r);if(!1===b)return h("InvalidAttr","Attributes for '"+p+"' have open quote.",c(e,r));let y=b.value;if(r=b.index,"/"===y[y.length-1]){const a=r-y.length;y=y.substring(0,y.length-1);const i=g(y,t);if(!0!==i)return h(i.err.code,i.err.msg,c(e,a+i.err.line));s=!0}else if(m){if(!b.tagClosed)return h("InvalidTag","Closing tag '"+p+"' doesn't have proper closing.",c(e,r));if(y.trim().length>0)return h("InvalidTag","Closing tag '"+p+"' can't have attributes or invalid starting.",c(e,d));{const t=a.pop();if(p!==t.tagName){let a=c(e,t.tagStartPos);return h("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+a.line+", col "+a.col+") instead of closing tag '"+p+"'.",c(e,d))}0==a.length&&(_=!0)}}else{const i=g(y,t);if(!0!==i)return h(i.err.code,i.err.msg,c(e,r-y.length+i.err.line));if(!0===_)return h("InvalidXml","Multiple possible root nodes found.",c(e,r));-1!==t.unpairedTags.indexOf(p)||a.push({tagName:p,tagStartPos:d}),s=!0}for(r++;r0)||h("InvalidXml","Invalid '"+JSON.stringify(a.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):h("InvalidXml","Start tag expected.",1)};const s='"',_="'";function f(e,t){let a="",i="",r=!1;for(;t"===e[t]&&""===i){r=!0;break}a+=e[t]}return""===i&&{value:a,index:t,tagClosed:r}}const l=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function g(e,t){const a=i.getAllMatches(e,l),r={};for(let e=0;e{"use strict";const i=a(82592),r={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function n(e){this.options=Object.assign({},r,e),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=s),this.processTextOrObjNode=o,this.options.format?(this.indentate=u,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function o(e,t,a){const i=this.j2x(e,a+1);return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,a):this.buildObjectNode(i.val,t,i.attrStr,a)}function u(e){return this.options.indentBy.repeat(e)}function s(e){return!!e.startsWith(this.options.attributeNamePrefix)&&e.substr(this.attrPrefixLen)}n.prototype.build=function(e){return this.options.preserveOrder?i(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0).val)},n.prototype.j2x=function(e,t){let a="",i="";for(let r in e)if(void 0===e[r]);else if(null===e[r])"?"===r[0]?i+=this.indentate(t)+"<"+r+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+r+"/"+this.tagEndChar;else if(e[r]instanceof Date)i+=this.buildTextValNode(e[r],r,"",t);else if("object"!=typeof e[r]){const n=this.isAttribute(r);if(n)a+=this.buildAttrPairStr(n,""+e[r]);else if(r===this.options.textNodeName){let t=this.options.tagValueProcessor(r,""+e[r]);i+=this.replaceEntitiesValue(t)}else i+=this.buildTextValNode(e[r],r,"",t)}else if(Array.isArray(e[r])){const a=e[r].length;let n="";for(let o=0;o"+e+r:!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===n.length?this.indentate(i)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(i)+"<"+t+a+n+this.tagEndChar+e+this.indentate(i)+r}},n.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(i)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(i)+"<"+t+a+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(t,e);return r=this.replaceEntitiesValue(r),""===r?this.indentate(i)+"<"+t+a+this.closeTag(t)+this.tagEndChar:this.indentate(i)+"<"+t+a+">"+r+"0&&this.options.processEntities)for(let t=0;t{function t(e,o,u,s){let _="",f=!1;for(let l=0;l`,f=!1;continue}if(F===o.commentPropName){_+=s+`\x3c!--${g[F][0][o.textNodeName]}--\x3e`,f=!0;continue}if("?"===F[0]){const e=i(g[":@"],o),t="?xml"===F?"":s;let a=g[F][0][o.textNodeName];a=0!==a.length?" "+a:"",_+=t+`<${F}${a}${e}?>`,f=!0;continue}let d=s;""!==d&&(d+=o.indentBy);const c=s+`<${F}${i(g[":@"],o)}`,m=t(g[F],o,h,d);-1!==o.unpairedTags.indexOf(F)?o.suppressUnpairedNode?_+=c+">":_+=c+"/>":m&&0!==m.length||!o.suppressEmptyNode?m&&m.endsWith(">")?_+=c+`>${m}${s}`:(_+=c+">",m&&""!==s&&(m.includes("/>")||m.includes("`):_+=c+"/>",f=!0}return _}function a(e){const t=Object.keys(e);for(let e=0;e0&&t.processEntities)for(let a=0;a0&&(i="\n"),t(e,a,"",i)}},74780:(e,t,a)=>{const i=a(17849);function r(e,t){let a="";for(;t"===e[t]){if(g?"-"===e[t-1]&&"-"===e[t-2]&&(g=!1,i--):i--,0===i)break}else"["===e[t]?l=!0:F+=e[t];else{if(l&&o(e,t))t+=7,[entityName,val,t]=r(e,t+1),-1===val.indexOf("&")&&(a[f(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(l&&u(e,t))t+=8;else if(l&&s(e,t))t+=8;else if(l&&_(e,t))t+=9;else{if(!n)throw new Error("Invalid DOCTYPE");g=!0}i++,F=""}if(0!==i)throw new Error("Unclosed DOCTYPE")}return{entities:a,i:t}}},66745:(e,t)=>{const a={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,a){return e}};t.buildOptions=function(e){return Object.assign({},a,e)},t.defaultOptions=a},81078:(e,t,a)=>{"use strict";const i=a(17849),r=a(36311),n=a(74780),o=a(14153);function u(e){const t=Object.keys(e);for(let a=0;a0)){o||(e=this.replaceEntitiesValue(e));const i=this.options.tagValueProcessor(t,e,a,r,n);return null==i?e:typeof i!=typeof e||i!==e?i:this.options.trimValues||e.trim()===e?y(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function _(e){if(this.options.removeNSPrefix){const t=e.split(":"),a="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=a+t[1])}return e}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,i.nameRegexp);const f=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function l(e,t,a){if(!this.options.ignoreAttributes&&"string"==typeof e){const a=i.getAllMatches(e,f),r=a.length,n={};for(let e=0;e",u,"Closing Tag is not closed.");let r=e.substring(u+2,t).trim();if(this.options.removeNSPrefix){const e=r.indexOf(":");-1!==e&&(r=r.substr(e+1))}this.options.transformTagName&&(r=this.options.transformTagName(r)),a&&(i=this.saveTextToParentTag(i,a,o));const n=o.substring(o.lastIndexOf(".")+1);if(r&&-1!==this.options.unpairedTags.indexOf(r))throw new Error(`Unpaired tag can not be used as closing tag: `);let s=0;n&&-1!==this.options.unpairedTags.indexOf(n)?(s=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=o.lastIndexOf("."),o=o.substring(0,s),a=this.tagsNodeStack.pop(),i="",u=t}else if("?"===e[u+1]){let t=p(e,u,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,a,o),this.options.ignoreDeclaration&&"?xml"===t.tagName||this.options.ignorePiTags);else{const e=new r(t.tagName);e.add(this.options.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[":@"]=this.buildAttributesMap(t.tagExp,o,t.tagName)),this.addChild(a,e,o)}u=t.closeIndex+1}else if("!--"===e.substr(u+1,3)){const t=m(e,"--\x3e",u+4,"Comment is not closed.");if(this.options.commentPropName){const r=e.substring(u+4,t-2);i=this.saveTextToParentTag(i,a,o),a.add(this.options.commentPropName,[{[this.options.textNodeName]:r}])}u=t}else if("!D"===e.substr(u+1,2)){const t=n(e,u);this.docTypeEntities=t.entities,u=t.i}else if("!["===e.substr(u+1,2)){const t=m(e,"]]>",u,"CDATA is not closed.")-2,r=e.substring(u+9,t);if(i=this.saveTextToParentTag(i,a,o),this.options.cdataPropName)a.add(this.options.cdataPropName,[{[this.options.textNodeName]:r}]);else{let e=this.parseTextData(r,a.tagname,o,!0,!1,!0);null==e&&(e=""),a.add(this.options.textNodeName,e)}u=t+2}else{let n=p(e,u,this.options.removeNSPrefix),s=n.tagName,_=n.tagExp,f=n.attrExpPresent,l=n.closeIndex;this.options.transformTagName&&(s=this.options.transformTagName(s)),a&&i&&"!xml"!==a.tagname&&(i=this.saveTextToParentTag(i,a,o,!1));const g=a;if(g&&-1!==this.options.unpairedTags.indexOf(g.tagname)&&(a=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),s!==t.tagname&&(o+=o?"."+s:s),this.isItStopNode(this.options.stopNodes,o,s)){let t="";if(_.length>0&&_.lastIndexOf("/")===_.length-1)u=n.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(s))u=n.closeIndex;else{const a=this.readStopNodeData(e,s,l+1);if(!a)throw new Error(`Unexpected end of ${s}`);u=a.i,t=a.tagContent}const i=new r(s);s!==_&&f&&(i[":@"]=this.buildAttributesMap(_,o,s)),t&&(t=this.parseTextData(t,s,o,!0,f,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),i.add(this.options.textNodeName,t),this.addChild(a,i,o)}else{if(_.length>0&&_.lastIndexOf("/")===_.length-1){"/"===s[s.length-1]?(s=s.substr(0,s.length-1),_=s):_=_.substr(0,_.length-1),this.options.transformTagName&&(s=this.options.transformTagName(s));const e=new r(s);s!==_&&f&&(e[":@"]=this.buildAttributesMap(_,o,s)),this.addChild(a,e,o),o=o.substr(0,o.lastIndexOf("."))}else{const e=new r(s);this.tagsNodeStack.push(a),s!==_&&f&&(e[":@"]=this.buildAttributesMap(_,o,s)),this.addChild(a,e,o),a=e}i="",u=l}}else i+=e[u];return t.child};function F(e,t,a){const i=this.options.updateTag(t.tagname,a,t[":@"]);!1===i||("string"==typeof i?(t.tagname=i,e.addChild(t)):e.addChild(t))}const h=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const a=this.docTypeEntities[t];e=e.replace(a.regx,a.val)}for(let t in this.lastEntities){const a=this.lastEntities[t];e=e.replace(a.regex,a.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const a=this.htmlEntities[t];e=e.replace(a.regex,a.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function d(e,t,a,i){return e&&(void 0===i&&(i=0===Object.keys(t.child).length),void 0!==(e=this.parseTextData(e,t.tagname,a,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,i))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function c(e,t,a){const i="*."+a;for(const a in e){const r=e[a];if(i===r||t===r)return!0}return!1}function m(e,t,a,i){const r=e.indexOf(t,a);if(-1===r)throw new Error(i);return r+t.length-1}function p(e,t,a,i=">"){const r=function(e,t,a=">"){let i,r="";for(let n=t;n",a,`${t} is not closed`);if(e.substring(a+2,n).trim()===t&&(r--,0===r))return{tagContent:e.substring(i,a),i:n};a=n}else if("?"===e[a+1])a=m(e,"?>",a+1,"StopNode is not closed.");else if("!--"===e.substr(a+1,3))a=m(e,"--\x3e",a+3,"StopNode is not closed.");else if("!["===e.substr(a+1,2))a=m(e,"]]>",a,"StopNode is not closed.")-2;else{const i=p(e,a,">");i&&((i&&i.tagName)===t&&"/"!==i.tagExp[i.tagExp.length-1]&&r++,a=i.closeIndex)}}function y(e,t,a){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&o(e,a)}return i.isExist(e)?e:""}e.exports=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=u,this.parseXml=g,this.parseTextData=s,this.resolveNameSpace=_,this.buildAttributesMap=l,this.isItStopNode=c,this.replaceEntitiesValue=h,this.readStopNodeData=b,this.saveTextToParentTag=d,this.addChild=F}}},58844:(e,t,a)=>{const{buildOptions:i}=a(66745),r=a(81078),{prettify:n}=a(16997),o=a(78501);e.exports=class{constructor(e){this.externalEntities={},this.options=i(e)}parse(e,t){if("string"==typeof e);else{if(!e.toString)throw new Error("XML data is accepted in String or Bytes[] form.");e=e.toString()}if(t){!0===t&&(t={});const a=o.validate(e,t);if(!0!==a)throw Error(`${a.err.msg}:${a.err.line}:${a.err.col}`)}const a=new r(this.options);a.addExternalEntities(this.externalEntities);const i=a.parseXml(e);return this.options.preserveOrder||void 0===i?i:n(i,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}}},16997:(e,t)=>{"use strict";function a(e,t,o){let u;const s={};for(let _=0;_0&&(s[t.textNodeName]=u):void 0!==u&&(s[t.textNodeName]=u),s}function i(e){const t=Object.keys(e);for(let e=0;e{"use strict";e.exports=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}},50840:(e,t,a)=>{var i;!function(r,n,o,u){"use strict";var s,_=["","webkit","Moz","MS","ms","o"],f=n.createElement("div"),l="function",g=Math.round,F=Math.abs,h=Date.now;function d(e,t,a){return setTimeout(D(e,a),t)}function c(e,t,a){return!!Array.isArray(e)&&(m(e,a[t],a),!0)}function m(e,t,a){var i;if(e)if(e.forEach)e.forEach(t,a);else if(e.length!==u)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",n=r.console&&(r.console.warn||r.console.log);return n&&n.call(r.console,i,a),e.apply(this,arguments)}}s="function"!=typeof Object.assign?function(e){if(e===u||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),a=1;a-1}function B(e){return e.trim().split(/\s+/g)}function q(e,t,a){if(e.indexOf&&!a)return e.indexOf(t);for(var i=0;ia[t]})):i.sort()),i}function T(e,t){for(var a,i,r=t[0].toUpperCase()+t.slice(1),n=0;n<_.length;){if((i=(a=_[n])?a+r:t)in e)return i;n++}return u}var P=1;function M(e){var t=e.ownerDocument||e;return t.defaultView||t.parentWindow||r}var O="ontouchstart"in r,L=T(r,"PointerEvent")!==u,z=O&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),I="touch",N="mouse",R=25,H=1,W=4,V=8,U=1,$=2,G=4,K=8,Y=16,X=$|G,Z=K|Y,J=X|Z,Q=["x","y"],ee=["clientX","clientY"];function te(e,t){var a=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){w(e.options.enable,[e])&&a.handler(t)},this.init()}function ae(e,t,a){var i=a.pointers.length,r=a.changedPointers.length,n=t&H&&i-r==0,o=t&(W|V)&&i-r==0;a.isFirst=!!n,a.isFinal=!!o,n&&(e.session={}),a.eventType=t,function(e,t){var a=e.session,i=t.pointers,r=i.length;a.firstInput||(a.firstInput=ie(t)),r>1&&!a.firstMultiple?a.firstMultiple=ie(t):1===r&&(a.firstMultiple=!1);var n=a.firstInput,o=a.firstMultiple,s=o?o.center:n.center,_=t.center=re(i);t.timeStamp=h(),t.deltaTime=t.timeStamp-n.timeStamp,t.angle=se(s,_),t.distance=ue(s,_),function(e,t){var a=t.center,i=e.offsetDelta||{},r=e.prevDelta||{},n=e.prevInput||{};t.eventType!==H&&n.eventType!==W||(r=e.prevDelta={x:n.deltaX||0,y:n.deltaY||0},i=e.offsetDelta={x:a.x,y:a.y}),t.deltaX=r.x+(a.x-i.x),t.deltaY=r.y+(a.y-i.y)}(a,t),t.offsetDirection=oe(t.deltaX,t.deltaY);var f,l,g=ne(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=g.x,t.overallVelocityY=g.y,t.overallVelocity=F(g.x)>F(g.y)?g.x:g.y,t.scale=o?(f=o.pointers,ue((l=i)[0],l[1],ee)/ue(f[0],f[1],ee)):1,t.rotation=o?function(e,t){return se(t[1],t[0],ee)+se(e[1],e[0],ee)}(o.pointers,i):0,t.maxPointers=a.prevInput?t.pointers.length>a.prevInput.maxPointers?t.pointers.length:a.prevInput.maxPointers:t.pointers.length,function(e,t){var a,i,r,n,o=e.lastInterval||t,s=t.timeStamp-o.timeStamp;if(t.eventType!=V&&(s>R||o.velocity===u)){var _=t.deltaX-o.deltaX,f=t.deltaY-o.deltaY,l=ne(s,_,f);i=l.x,r=l.y,a=F(l.x)>F(l.y)?l.x:l.y,n=oe(_,f),e.lastInterval=t}else a=o.velocity,i=o.velocityX,r=o.velocityY,n=o.direction;t.velocity=a,t.velocityX=i,t.velocityY=r,t.direction=n}(a,t);var d=e.element;C(t.srcEvent.target,d)&&(d=t.srcEvent.target),t.target=d}(e,a),e.emit("hammer.input",a),e.recognize(a),e.session.prevInput=a}function ie(e){for(var t=[],a=0;a=F(t)?e<0?$:G:t<0?K:Y}function ue(e,t,a){a||(a=Q);var i=t[a[0]]-e[a[0]],r=t[a[1]]-e[a[1]];return Math.sqrt(i*i+r*r)}function se(e,t,a){a||(a=Q);var i=t[a[0]]-e[a[0]],r=t[a[1]]-e[a[1]];return 180*Math.atan2(r,i)/Math.PI}te.prototype={handler:function(){},init:function(){this.evEl&&v(this.element,this.evEl,this.domHandler),this.evTarget&&v(this.target,this.evTarget,this.domHandler),this.evWin&&v(M(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(M(this.element),this.evWin,this.domHandler)}};var _e={mousedown:H,mousemove:2,mouseup:W},fe="mousedown",le="mousemove mouseup";function ge(){this.evEl=fe,this.evWin=le,this.pressed=!1,te.apply(this,arguments)}k(ge,te,{handler:function(e){var t=_e[e.type];t&H&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=W),this.pressed&&(t&W&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:N,srcEvent:e}))}});var Fe={pointerdown:H,pointermove:2,pointerup:W,pointercancel:V,pointerout:V},he={2:I,3:"pen",4:N,5:"kinect"},de="pointerdown",ce="pointermove pointerup pointercancel";function me(){this.evEl=de,this.evWin=ce,te.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(de="MSPointerDown",ce="MSPointerMove MSPointerUp MSPointerCancel"),k(me,te,{handler:function(e){var t=this.store,a=!1,i=e.type.toLowerCase().replace("ms",""),r=Fe[i],n=he[e.pointerType]||e.pointerType,o=n==I,u=q(t,e.pointerId,"pointerId");r&H&&(0===e.button||o)?u<0&&(t.push(e),u=t.length-1):r&(W|V)&&(a=!0),u<0||(t[u]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:n,srcEvent:e}),a&&t.splice(u,1))}});var pe={touchstart:H,touchmove:2,touchend:W,touchcancel:V};function be(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,te.apply(this,arguments)}function ye(e,t){var a=A(e.touches),i=A(e.changedTouches);return t&(W|V)&&(a=S(a.concat(i),"identifier",!0)),[a,i]}k(be,te,{handler:function(e){var t=pe[e.type];if(t===H&&(this.started=!0),this.started){var a=ye.call(this,e,t);t&(W|V)&&a[0].length-a[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:a[0],changedPointers:a[1],pointerType:I,srcEvent:e})}}});var ke={touchstart:H,touchmove:2,touchend:W,touchcancel:V},De="touchstart touchmove touchend touchcancel";function we(){this.evTarget=De,this.targetIds={},te.apply(this,arguments)}function Ee(e,t){var a=A(e.touches),i=this.targetIds;if(t&(2|H)&&1===a.length)return i[a[0].identifier]=!0,[a,a];var r,n,o=A(e.changedTouches),u=[],s=this.target;if(n=a.filter((function(e){return C(e.target,s)})),t===H)for(r=0;r-1&&i.splice(e,1)}),ve)}}function Be(e){for(var t=e.srcEvent.clientX,a=e.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,a=this.state;function i(a){t.manager.emit(a,e)}a<8&&i(t.options.event+We(a)),i(t.options.event),e.additionalEvent&&i(e.additionalEvent),a>=8&&i(t.options.event+We(a))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=Re},canEmit:function(){for(var e=0;et.threshold&&r&t.direction},attrTest:function(e){return $e.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Ve(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),k(Ke,$e,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Me]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),k(Ye,He,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Te]},process:function(e){var t=this.options,a=e.pointers.length===t.pointers,i=e.distancet.time;if(this._input=e,!i||!a||e.eventType&(W|V)&&!r)this.reset();else if(e.eventType&H)this.reset(),this._timer=d((function(){this.state=8,this.tryEmit()}),t.time,this);else if(e.eventType&W)return 8;return Re},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&e.eventType&W?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=h(),this.manager.emit(this.options.event,this._input)))}}),k(Xe,$e,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Me]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),k(Ze,$e,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:X|Z,pointers:1},getTouchAction:function(){return Ge.prototype.getTouchAction.call(this)},attrTest:function(e){var t,a=this.options.direction;return a&(X|Z)?t=e.overallVelocity:a&X?t=e.overallVelocityX:a&Z&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&a&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&F(t)>this.options.velocity&&e.eventType&W},emit:function(e){var t=Ve(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),k(Je,He,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Pe]},process:function(e){var t=this.options,a=e.pointers.length===t.pointers,i=e.distance{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,a=/\n/g,i=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,n=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,s=/^\s+|\s+$/g,_="";function f(e){return e?e.replace(s,_):_}e.exports=function(e,s){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];s=s||{};var l=1,g=1;function F(e){var t=e.match(a);t&&(l+=t.length);var i=e.lastIndexOf("\n");g=~i?e.length-i:g+e.length}function h(){var e={line:l,column:g};return function(t){return t.position=new d(e),b(),t}}function d(e){this.start=e,this.end={line:l,column:g},this.source=s.source}d.prototype.content=e;var c=[];function m(t){var a=new Error(s.source+":"+l+":"+g+": "+t);if(a.reason=t,a.filename=s.source,a.line=l,a.column=g,a.source=e,!s.silent)throw a;c.push(a)}function p(t){var a=t.exec(e);if(a){var i=a[0];return F(i),e=e.slice(i.length),a}}function b(){p(i)}function y(e){var t;for(e=e||[];t=k();)!1!==t&&e.push(t);return e}function k(){var t=h();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var a=2;_!=e.charAt(a)&&("*"!=e.charAt(a)||"/"!=e.charAt(a+1));)++a;if(a+=2,_===e.charAt(a-1))return m("End of comment missing");var i=e.slice(2,a-2);return g+=2,F(i),e=e.slice(a),g+=2,t({type:"comment",comment:i})}}function D(){var e=h(),a=p(r);if(a){if(k(),!p(n))return m("property missing ':'");var i=p(o),s=e({type:"declaration",property:f(a[0].replace(t,_)),value:i?f(i[0].replace(t,_)):_});return p(u),s}}return b(),function(){var e,t=[];for(y(t);e=D();)!1!==e&&(t.push(e),y(t));return t}()}},41487:(e,t,a)=>{"use strict";const{XMLParser:i,XMLValidator:r}=a(16932),n=e=>{if(null==e)return!1;if(0===(e=e.toString().trim()).length)return!1;if(!0!==r.validate(e))return!1;let t;const a=new i;try{t=a.parse(e)}catch(e){return!1}return!!t&&"svg"in t};e.exports=n,e.exports.default=n},14153:e=>{const t=/^[-+]?0x[a-fA-F0-9]+$/,a=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};e.exports=function(e,r={}){if(r=Object.assign({},i,r),!e||"string"!=typeof e)return e;let n=e.trim();if(void 0!==r.skipLike&&r.skipLike.test(n))return e;if(r.hex&&t.test(n))return Number.parseInt(n,16);{const t=a.exec(n);if(t){const a=t[1],i=t[2];let u=(o=t[3])&&-1!==o.indexOf(".")?("."===(o=o.replace(/0+$/,""))?o="0":"."===o[0]?o="0"+o:"."===o[o.length-1]&&(o=o.substr(0,o.length-1)),o):o;const s=t[4]||t[6];if(!r.leadingZeros&&i.length>0&&a&&"."!==n[2])return e;if(!r.leadingZeros&&i.length>0&&!a&&"."!==n[1])return e;{const t=Number(n),o=""+t;return-1!==o.search(/[eE]/)||s?r.eNotation?t:e:-1!==n.indexOf(".")?"0"===o&&""===u||o===u||a&&o==="-"+u?t:e:i?u===o||a+u===o?t:e:n===o||n===a+o?t:e}}return e}var o}},57848:(e,t,a)=>{var i=a(18139);function r(e,t){var a,r=null;if(!e||"string"!=typeof e)return r;for(var n,o,u=i(e),s="function"==typeof t,_=0,f=u.length;_{"use strict";if(a.r(t),a.d(t,{default:()=>s}),Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var t,a=Object(this),i=a.length>>>0,r=arguments[1],n=0;n{i.key===t.keyCode&&(e.commandEvent=!0,e.callbacks()[i.value.toLowerCase()](t,a))}))}input(e,t){e.inputEvent=!0,e.keyup.call(this,e,t)}click(e,t){let a=e.tribute;if(a.menu&&a.menu.contains(t.target)){let e=t.target;for(t.preventDefault(),t.stopPropagation();"li"!==e.nodeName.toLowerCase();)if(e=e.parentNode,!e||e===a.menu)throw new Error("cannot find the
  • container for the click");a.selectItemAtIndex(e.getAttribute("data-index"),t),a.hideMenu()}else a.current.element&&!a.current.externalTrigger&&(a.current.externalTrigger=!1,setTimeout((()=>a.hideMenu())))}keyup(e,t){if(e.inputEvent&&(e.inputEvent=!1),e.updateSelection(this),27!==t.keyCode){if(!e.tribute.allowSpaces&&e.tribute.hasTrailingSpace)return e.tribute.hasTrailingSpace=!1,e.commandEvent=!0,void e.callbacks().space(t,this);if(!e.tribute.isActive)if(e.tribute.autocompleteMode)e.callbacks().triggerChar(t,this,"");else{let a=e.getKeyCode(e,this,t);if(isNaN(a)||!a)return;let i=e.tribute.triggers().find((e=>e.charCodeAt(0)===a));void 0!==i&&e.callbacks().triggerChar(t,this,i)}e.tribute.current.mentionText.length{e.keyCode===a.key&&(t=!0)})),!t}return!1}getKeyCode(e,t,a){let i=e.tribute,r=i.range.getTriggerInfo(!1,i.hasTrailingSpace,!0,i.allowSpaces,i.autocompleteMode);return!!r&&r.mentionTriggerChar.charCodeAt(0)}updateSelection(e){this.tribute.current.element=e;let t=this.tribute.range.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);t&&(this.tribute.current.selectedPath=t.mentionSelectedPath,this.tribute.current.mentionText=t.mentionText,this.tribute.current.selectedOffset=t.mentionSelectedOffset)}callbacks(){return{triggerChar:(e,t,a)=>{let i=this.tribute;i.current.trigger=a;let r=i.collection.find((e=>e.trigger===a));i.current.collection=r,i.current.mentionText.length>=i.current.collection.menuShowMinLength&&i.inputEvent&&i.showMenuFor(t,!0)},enter:(e,t)=>{this.tribute.isActive&&this.tribute.current.filteredItems&&(e.preventDefault(),e.stopPropagation(),setTimeout((()=>{this.tribute.selectItemAtIndex(this.tribute.menuSelected,e),this.tribute.hideMenu()}),0))},escape:(e,t)=>{this.tribute.isActive&&(e.preventDefault(),e.stopPropagation(),this.tribute.isActive=!1,this.tribute.hideMenu())},tab:(e,t)=>{this.callbacks().enter(e,t)},space:(e,t)=>{this.tribute.isActive&&(this.tribute.spaceSelectsMatch?this.callbacks().enter(e,t):this.tribute.allowSpaces||(e.stopPropagation(),setTimeout((()=>{this.tribute.hideMenu(),this.tribute.isActive=!1}),0)))},up:(e,t)=>{if(this.tribute.isActive&&this.tribute.current.filteredItems){e.preventDefault(),e.stopPropagation();let t=this.tribute.current.filteredItems.length,a=this.tribute.menuSelected;t>a&&a>0?(this.tribute.menuSelected--,this.setActiveLi()):0===a&&(this.tribute.menuSelected=t-1,this.setActiveLi(),this.tribute.menu.scrollTop=this.tribute.menu.scrollHeight)}},down:(e,t)=>{if(this.tribute.isActive&&this.tribute.current.filteredItems){e.preventDefault(),e.stopPropagation();let t=this.tribute.current.filteredItems.length-1,a=this.tribute.menuSelected;t>a?(this.tribute.menuSelected++,this.setActiveLi()):t===a&&(this.tribute.menuSelected=0,this.setActiveLi(),this.tribute.menu.scrollTop=0)}},delete:(e,t)=>{this.tribute.isActive&&this.tribute.current.mentionText.length<1?this.tribute.hideMenu():this.tribute.isActive&&this.tribute.showMenuFor(t)}}}setActiveLi(e){let t=this.tribute.menu.querySelectorAll("li"),a=t.length>>>0;e&&(this.tribute.menuSelected=parseInt(e));for(let e=0;et.bottom){let a=e.bottom-t.bottom;this.tribute.menu.scrollTop+=a}else if(e.top{this.tribute.isActive&&this.tribute.showMenuFor(this.tribute.current.element,!1)}),300,!1),this.windowResizeEvent=this.debounce((()=>{this.tribute.isActive&&this.tribute.range.positionMenuAtCaret(!0)}),300,!1),this.tribute.range.getDocument().addEventListener("MSPointerDown",this.menuClickEvent,!1),this.tribute.range.getDocument().addEventListener("mousedown",this.menuClickEvent,!1),window.addEventListener("resize",this.windowResizeEvent),this.menuContainer?this.menuContainer.addEventListener("scroll",this.menuContainerScrollEvent,!1):window.addEventListener("scroll",this.menuContainerScrollEvent)}unbind(e){this.tribute.range.getDocument().removeEventListener("mousedown",this.menuClickEvent,!1),this.tribute.range.getDocument().removeEventListener("MSPointerDown",this.menuClickEvent,!1),window.removeEventListener("resize",this.windowResizeEvent),this.menuContainer?this.menuContainer.removeEventListener("scroll",this.menuContainerScrollEvent,!1):window.removeEventListener("scroll",this.menuContainerScrollEvent)}debounce(e,t,a){var i;return()=>{var r=this,n=arguments,o=a&&!i;clearTimeout(i),i=setTimeout((()=>{i=null,a||e.apply(r,n)}),t),o&&e.apply(r,n)}}}class n{constructor(e){this.tribute=e,this.tribute.range=this}getDocument(){let e;return this.tribute.current.collection&&(e=this.tribute.current.collection.iframe),e?e.contentWindow.document:document}positionMenuAtCaret(e){let t,a=this.tribute.current,i=this.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);if(void 0!==i){if(!this.tribute.positionMenu)return void(this.tribute.menu.style.cssText="display: block;");t=this.isContentEditable(a.element)?this.getContentEditableCaretPosition(i.mentionPosition):this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,i.mentionPosition),this.tribute.menu.style.cssText=`top: ${t.top}px;\n left: ${t.left}px;\n right: ${t.right}px;\n bottom: ${t.bottom}px;\n position: absolute;\n display: block;`,"auto"===t.left&&(this.tribute.menu.style.left="auto"),"auto"===t.top&&(this.tribute.menu.style.top="auto"),e&&this.scrollIntoView(),window.setTimeout((()=>{let a={width:this.tribute.menu.offsetWidth,height:this.tribute.menu.offsetHeight},i=this.isMenuOffScreen(t,a),r=window.innerWidth>a.width&&(i.left||i.right),n=window.innerHeight>a.height&&(i.top||i.bottom);(r||n)&&(this.tribute.menu.style.cssText="display: none",this.positionMenuAtCaret(e))}),0)}else this.tribute.menu.style.cssText="display: none"}get menuContainerIsBody(){return this.tribute.menuContainer===document.body||!this.tribute.menuContainer}selectElement(e,t,a){let i,r=e;if(t)for(var n=0;n=0&&(t=a.substring(0,i))}}else{let e=this.tribute.current.element;if(e){let a=e.selectionStart;e.value&&a>=0&&(t=e.value.substring(0,a))}}return t}getLastWordInText(e){let t=(e=e.replace(/\u00A0/g," ")).split(/\s+/);return t[t.length-1].trim()}getTriggerInfo(e,t,a,i,r){let n,o,u,s=this.tribute.current;if(this.isContentEditable(s.element)){let e=this.getContentEditableSelectedPath(s);e&&(n=e.selected,o=e.path,u=e.offset)}else n=this.tribute.current.element;let _=this.getTextPrecedingCurrentSelection(),f=this.getLastWordInText(_);if(r)return{mentionPosition:_.length-f.length,mentionText:f,mentionSelectedElement:n,mentionSelectedPath:o,mentionSelectedOffset:u};if(null!=_){let r,s=-1;if(this.tribute.collection.forEach((e=>{let t=e.trigger,i=e.requireLeadingSpace?this.lastIndexWithLeadingSpace(_,t):_.lastIndexOf(t);i>s&&(s=i,r=t,a=e.requireLeadingSpace)})),s>=0&&(0===s||!a||/[\xA0\s]/g.test(_.substring(s-1,s)))){let a=_.substring(s+r.length,_.length);r=_.substring(s,s+r.length);let f=a.substring(0,1),l=a.length>0&&(" "===f||" "===f);t&&(a=a.trim());let g=i?/[^\S ]/g:/[\xA0\s]/g;if(this.tribute.hasTrailingSpace=g.test(a),!l&&(e||!g.test(a)))return{mentionPosition:s,mentionText:a,mentionSelectedElement:n,mentionSelectedPath:o,mentionSelectedOffset:u,mentionTriggerChar:r}}}}lastIndexWithLeadingSpace(e,t){let a=e.split("").reverse().join(""),i=-1;for(let r=0,n=e.length;r=0;e--)if(t[e]!==a[r-e]){u=!1;break}if(u&&(n||o)){i=e.length-1-r;break}}return i}isContentEditable(e){return"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName}isMenuOffScreen(e,t){let a=window.innerWidth,i=window.innerHeight,r=document.documentElement,n=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),o=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),u="number"==typeof e.top?e.top:o+i-e.bottom-t.height,s="number"==typeof e.right?e.right:e.left+t.width,_="number"==typeof e.bottom?e.bottom:e.top+t.height,f="number"==typeof e.left?e.left:n+a-e.right-t.width;return{top:uMath.ceil(n+a),bottom:_>Math.ceil(o+i),left:f{n[e]=o[e]})),i?(n.width=parseInt(o.width)-2+"px",e.scrollHeight>parseInt(o.height)&&(n.overflowY="scroll")):n.overflow="hidden",r.textContent=e.value.substring(0,t),"INPUT"===e.nodeName&&(r.textContent=r.textContent.replace(/\s/g," "));let u=this.getDocument().createElement("span");u.textContent=e.value.substring(t)||".",r.appendChild(u);let s=e.getBoundingClientRect(),_=document.documentElement,f=(window.pageXOffset||_.scrollLeft)-(_.clientLeft||0),l=(window.pageYOffset||_.scrollTop)-(_.clientTop||0),g=0,F=0;this.menuContainerIsBody&&(g=s.top,F=s.left);let h={top:g+l+u.offsetTop+parseInt(o.borderTopWidth)+parseInt(o.fontSize)-e.scrollTop,left:F+f+u.offsetLeft+parseInt(o.borderLeftWidth)},d=window.innerWidth,c=window.innerHeight,m=this.getMenuDimensions(),p=this.isMenuOffScreen(h,m);p.right&&(h.right=d-h.left,h.left="auto");let b=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(p.bottom){let e=b-(c-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);h.bottom=e+(c-s.top-u.offsetTop),h.top="auto"}return p=this.isMenuOffScreen(h,m),p.left&&(h.left=d>m.width?f+d-m.width:f,delete h.right),p.top&&(h.top=c>m.height?l+c-m.height:l,delete h.bottom),this.getDocument().body.removeChild(r),h}getContentEditableCaretPosition(e){let t,a=this.getWindowSelection();t=this.getDocument().createRange(),t.setStart(a.anchorNode,e),t.setEnd(a.anchorNode,e),t.collapse(!1);let i=t.getBoundingClientRect(),r=document.documentElement,n=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),o=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),u={left:i.left+n,top:i.top+i.height+o},s=window.innerWidth,_=window.innerHeight,f=this.getMenuDimensions(),l=this.isMenuOffScreen(u,f);l.right&&(u.left="auto",u.right=s-i.left-n);let g=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(l.bottom){let e=g-(_-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);u.top="auto",u.bottom=e+(_-i.top)}return l=this.isMenuOffScreen(u,f),l.left&&(u.left=s>f.width?n+s-f.width:n,delete u.right),l.top&&(u.top=_>f.height?o+_-f.height:o,delete u.bottom),this.menuContainerIsBody||(u.left=u.left?u.left-this.tribute.menuContainer.offsetLeft:u.left,u.top=u.top?u.top-this.tribute.menuContainer.offsetTop:u.top),u}scrollIntoView(e){let t,a=this.menu;if(void 0===a)return;for(;void 0===t||0===t.height;)if(t=a.getBoundingClientRect(),0===t.height&&(a=a.childNodes[0],void 0===a||!a.getBoundingClientRect))return;let i=t.top,r=i+t.height;if(i<0)window.scrollTo(0,window.pageYOffset+t.top-20);else if(r>window.innerHeight){let e=window.pageYOffset+t.top-20;e-window.pageYOffset>100&&(e=window.pageYOffset+100);let a=window.pageYOffset-(window.innerHeight-r);a>e&&(a=e),window.scrollTo(0,a)}}}class o{constructor(e){this.tribute=e,this.tribute.search=this}simpleFilter(e,t){return t.filter((t=>this.test(e,t)))}test(e,t){return null!==this.match(e,t)}match(e,t,a){a=a||{},t.length;let i=a.pre||"",r=a.post||"",n=a.caseSensitive&&t||t.toLowerCase();if(a.skip)return{rendered:t,score:0};e=a.caseSensitive&&e||e.toLowerCase();let o=this.traverse(n,e,0,0,[]);return o?{rendered:this.render(t,o.cache,i,r),score:o.score}:null}traverse(e,t,a,i,r){if(t.length===i)return{score:this.calculateScore(r),cache:r.slice()};if(e.length===a||t.length-i>e.length-a)return;let n,o,u=t[i],s=e.indexOf(u,a);for(;s>-1;){if(r.push(s),o=this.traverse(e,t,s+1,i+1,r),r.pop(),!o)return n;(!n||n.score{r>0&&(e[r-1]+1===i?a+=a+1:a=1),t+=a})),t}render(e,t,a,i){var r=e.substring(0,t[0]);return t.forEach(((n,o)=>{r+=a+e[n]+i+e.substring(n+1,t[o+1]?t[o+1]:e.length)})),r}filter(e,t,a){return a=a||{},t.reduce(((t,i,r,n)=>{let o=i;a.extract&&(o=a.extract(i),o||(o=""));let u=this.match(e,o,a);return null!=u&&(t[t.length]={string:u.rendered,score:u.score,index:r,original:i}),t}),[]).sort(((e,t)=>t.score-e.score||e.index-t.index))}}class u{constructor({values:e=null,iframe:t=null,selectClass:a="highlight",containerClass:s="tribute-container",itemClass:_="",trigger:f="@",autocompleteMode:l=!1,selectTemplate:g=null,menuItemTemplate:F=null,lookup:h="key",fillAttr:d="value",collection:c=null,menuContainer:m=null,noMatchTemplate:p=null,requireLeadingSpace:b=!0,allowSpaces:y=!1,replaceTextSuffix:k=null,positionMenu:D=!0,spaceSelectsMatch:w=!1,searchOpts:E={},menuItemLimit:v=null,menuShowMinLength:x=0}){if(this.autocompleteMode=l,this.menuSelected=0,this.current={},this.inputEvent=!1,this.isActive=!1,this.menuContainer=m,this.allowSpaces=y,this.replaceTextSuffix=k,this.positionMenu=D,this.hasTrailingSpace=!1,this.spaceSelectsMatch=w,this.autocompleteMode&&(f="",y=!1),e)this.collection=[{trigger:f,iframe:t,selectClass:a,containerClass:s,itemClass:_,selectTemplate:(g||u.defaultSelectTemplate).bind(this),menuItemTemplate:(F||u.defaultMenuItemTemplate).bind(this),noMatchTemplate:(e=>"string"==typeof e?""===e.trim()?null:e:"function"==typeof e?e.bind(this):p||function(){return"
  • No Match Found!
  • "}.bind(this))(p),lookup:h,fillAttr:d,values:e,requireLeadingSpace:b,searchOpts:E,menuItemLimit:v,menuShowMinLength:x}];else{if(!c)throw new Error("[Tribute] No collection specified.");this.autocompleteMode&&console.warn("Tribute in autocomplete mode does not work for collections"),this.collection=c.map((e=>({trigger:e.trigger||f,iframe:e.iframe||t,selectClass:e.selectClass||a,containerClass:e.containerClass||s,itemClass:e.itemClass||_,selectTemplate:(e.selectTemplate||u.defaultSelectTemplate).bind(this),menuItemTemplate:(e.menuItemTemplate||u.defaultMenuItemTemplate).bind(this),noMatchTemplate:(e=>"string"==typeof e?""===e.trim()?null:e:"function"==typeof e?e.bind(this):p||function(){return"
  • No Match Found!
  • "}.bind(this))(p),lookup:e.lookup||h,fillAttr:e.fillAttr||d,values:e.values,requireLeadingSpace:e.requireLeadingSpace,searchOpts:e.searchOpts||E,menuItemLimit:e.menuItemLimit||v,menuShowMinLength:e.menuShowMinLength||x})))}new n(this),new i(this),new r(this),new o(this)}get isActive(){return this._isActive}set isActive(e){if(this._isActive!=e&&(this._isActive=e,this.current.element)){let t=new CustomEvent(`tribute-active-${e}`);this.current.element.dispatchEvent(t)}}static defaultSelectTemplate(e){return void 0===e?`${this.current.collection.trigger}${this.current.mentionText}`:this.range.isContentEditable(this.current.element)?''+(this.current.collection.trigger+e.original[this.current.collection.fillAttr])+"":this.current.collection.trigger+e.original[this.current.collection.fillAttr]}static defaultMenuItemTemplate(e){return e.string}static inputTypes(){return["TEXTAREA","INPUT"]}triggers(){return this.collection.map((e=>e.trigger))}attach(e){if(!e)throw new Error("[Tribute] Must pass in a DOM node or NodeList.");if("undefined"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array){let a=e.length;for(var t=0;t{if(!this.isActive)return;let a=this.search.filter(this.current.mentionText,e,{pre:this.current.collection.searchOpts.pre||"",post:this.current.collection.searchOpts.post||"",skip:this.current.collection.searchOpts.skip,extract:e=>{if("string"==typeof this.current.collection.lookup)return e[this.current.collection.lookup];if("function"==typeof this.current.collection.lookup)return this.current.collection.lookup(e,this.current.mentionText);throw new Error("Invalid lookup attribute, lookup must be string or function.")}});this.current.collection.menuItemLimit&&(a=a.slice(0,this.current.collection.menuItemLimit)),this.current.filteredItems=a;let i=this.menu.querySelector("ul");if(this.range.positionMenuAtCaret(t),!a.length){let e=new CustomEvent("tribute-no-match",{detail:this.menu});return this.current.element.dispatchEvent(e),void("function"==typeof this.current.collection.noMatchTemplate&&!this.current.collection.noMatchTemplate()||!this.current.collection.noMatchTemplate?this.hideMenu():"function"==typeof this.current.collection.noMatchTemplate?i.innerHTML=this.current.collection.noMatchTemplate():i.innerHTML=this.current.collection.noMatchTemplate)}i.innerHTML="";let r=this.range.getDocument().createDocumentFragment();a.forEach(((e,t)=>{let a=this.range.getDocument().createElement("li");a.setAttribute("data-index",t),a.className=this.current.collection.itemClass,a.addEventListener("mousemove",(e=>{let[t,a]=this._findLiTarget(e.target);0!==e.movementY&&this.events.setActiveLi(a)})),this.menuSelected===t&&a.classList.add(this.current.collection.selectClass),a.innerHTML=this.current.collection.menuItemTemplate(e),r.appendChild(a)})),i.appendChild(r)};"function"==typeof this.current.collection.values?this.current.collection.values(this.current.mentionText,a):a(this.current.collection.values)}_findLiTarget(e){if(!e)return[];const t=e.getAttribute("data-index");return t?[e,t]:this._findLiTarget(e.parentNode)}showMenuForCollection(e,t){e!==document.activeElement&&this.placeCaretAtEnd(e),this.current.collection=this.collection[t||0],this.current.externalTrigger=!0,this.current.element=e,e.isContentEditable?this.insertTextAtCursor(this.current.collection.trigger):this.insertAtCaret(e,this.current.collection.trigger),this.showMenuFor(e)}placeCaretAtEnd(e){if(e.focus(),void 0!==window.getSelection&&void 0!==document.createRange){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var a=window.getSelection();a.removeAllRanges(),a.addRange(t)}else if(void 0!==document.body.createTextRange){var i=document.body.createTextRange();i.moveToElementText(e),i.collapse(!1),i.select()}}insertTextAtCursor(e){var t,a;(a=(t=window.getSelection()).getRangeAt(0)).deleteContents();var i=document.createTextNode(e);a.insertNode(i),a.selectNodeContents(i),a.collapse(!1),t.removeAllRanges(),t.addRange(a)}insertAtCaret(e,t){var a=e.scrollTop,i=e.selectionStart,r=e.value.substring(0,i),n=e.value.substring(e.selectionEnd,e.value.length);e.value=r+t+n,i+=t.length,e.selectionStart=i,e.selectionEnd=i,e.focus(),e.scrollTop=a}hideMenu(){this.menu&&(this.menu.style.cssText="display: none;",this.isActive=!1,this.menuSelected=0,this.current={})}selectItemAtIndex(e,t){if("number"!=typeof(e=parseInt(e))||isNaN(e))return;let a=this.current.filteredItems[e],i=this.current.collection.selectTemplate(a);null!==i&&this.replaceText(i,t,a)}replaceText(e,t,a){this.range.replaceTriggerText(e,!0,!0,t,a)}_append(e,t,a){if("function"==typeof e.values)throw new Error("Unable to append to values, as it is a function.");e.values=a?t:e.values.concat(t)}append(e,t,a){let i=parseInt(e);if("number"!=typeof i)throw new Error("please provide an index for the collection to update.");let r=this.collection[i];this._append(r,t,a)}appendCurrent(e,t){if(!this.isActive)throw new Error("No active state. Please use append instead and pass an index.");this._append(this.current.collection,e,t)}detach(e){if(!e)throw new Error("[Tribute] Must pass in a DOM node or NodeList.");if("undefined"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array){let a=e.length;for(var t=0;t{e.removeAttribute("data-tribute"),this.isActive=!1,e.tributeMenu&&e.tributeMenu.remove()}))}}const s=u},73469:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},70529:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},94603:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},32219:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"ArrowLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon arrow-left-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},80419:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"CheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon check-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},32964:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"ChevronLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon chevron-left-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},11585:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon chevron-right-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},82675:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},25751:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"LinkVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon link-variant-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},93234:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon magnify-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},81857:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"PauseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon pause-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M14,19H18V5H14M6,19H10V5H6V19Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},53071:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"PlayIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon play-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M8,5.14V19.14L19,12.14L8,5.14Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},92425:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});const i={name:"UndoVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},r=(0,a(51900).Z)(i,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon undo-variant-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},47907:function(e){e.exports=function(e){function t(i){if(a[i])return a[i].exports;var r=a[i]={i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var a={};return t.m=e,t.c=a,t.i=function(e){return e},t.d=function(e,a,i){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=60)}([function(e,t){var a=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=a)},function(e,t,a){var i=a(49)("wks"),r=a(30),n=a(0).Symbol,o="function"==typeof n;(e.exports=function(e){return i[e]||(i[e]=o&&n[e]||(o?n:r)("Symbol."+e))}).store=i},function(e,t,a){var i=a(5);e.exports=function(e){if(!i(e))throw TypeError(e+" is not an object!");return e}},function(e,t,a){var i=a(0),r=a(10),n=a(8),o=a(6),u=a(11),s=function(e,t,a){var _,f,l,g,F=e&s.F,h=e&s.G,d=e&s.S,c=e&s.P,m=e&s.B,p=h?i:d?i[t]||(i[t]={}):(i[t]||{}).prototype,b=h?r:r[t]||(r[t]={}),y=b.prototype||(b.prototype={});for(_ in h&&(a=t),a)l=((f=!F&&p&&void 0!==p[_])?p:a)[_],g=m&&f?u(l,i):c&&"function"==typeof l?u(Function.call,l):l,p&&o(p,_,l,e&s.U),b[_]!=l&&n(b,_,g),c&&y[_]!=l&&(y[_]=l)};i.core=r,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,a){e.exports=!a(7)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,a){var i=a(0),r=a(8),n=a(12),o=a(30)("src"),u=Function.toString,s=(""+u).split("toString");a(10).inspectSource=function(e){return u.call(e)},(e.exports=function(e,t,a,u){var _="function"==typeof a;_&&(n(a,"name")||r(a,"name",t)),e[t]!==a&&(_&&(n(a,o)||r(a,o,e[t]?""+e[t]:s.join(String(t)))),e===i?e[t]=a:u?e[t]?e[t]=a:r(e,t,a):(delete e[t],r(e,t,a)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[o]||u.call(this)}))},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,a){var i=a(13),r=a(25);e.exports=a(4)?function(e,t,a){return i.f(e,t,r(1,a))}:function(e,t,a){return e[t]=a,e}},function(e,t){var a={}.toString;e.exports=function(e){return a.call(e).slice(8,-1)}},function(e,t){var a=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=a)},function(e,t,a){var i=a(14);e.exports=function(e,t,a){if(i(e),void 0===t)return e;switch(a){case 1:return function(a){return e.call(t,a)};case 2:return function(a,i){return e.call(t,a,i)};case 3:return function(a,i,r){return e.call(t,a,i,r)}}return function(){return e.apply(t,arguments)}}},function(e,t){var a={}.hasOwnProperty;e.exports=function(e,t){return a.call(e,t)}},function(e,t,a){var i=a(2),r=a(41),n=a(29),o=Object.defineProperty;t.f=a(4)?Object.defineProperty:function(e,t,a){if(i(e),t=n(t,!0),i(a),r)try{return o(e,t,a)}catch(e){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(e[t]=a.value),e}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){e.exports={}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,a){"use strict";var i=a(7);e.exports=function(e,t){return!!e&&i((function(){t?e.call(null,(function(){}),1):e.call(null)}))}},function(e,t,a){var i=a(23),r=a(16);e.exports=function(e){return i(r(e))}},function(e,t,a){var i=a(53),r=Math.min;e.exports=function(e){return e>0?r(i(e),9007199254740991):0}},function(e,t,a){var i=a(11),r=a(23),n=a(28),o=a(19),u=a(64);e.exports=function(e,t){var a=1==e,s=2==e,_=3==e,f=4==e,l=6==e,g=5==e||l,F=t||u;return function(t,u,h){for(var d,c,m=n(t),p=r(m),b=i(u,h,3),y=o(p.length),k=0,D=a?F(t,y):s?F(t,0):void 0;y>k;k++)if((g||k in p)&&(c=b(d=p[k],k,m),e))if(a)D[k]=c;else if(c)switch(e){case 3:return!0;case 5:return d;case 6:return k;case 2:D.push(d)}else if(f)return!1;return l?-1:_||f?f:D}}},function(e,t,a){var i=a(5),r=a(0).document,n=i(r)&&i(r.createElement);e.exports=function(e){return n?r.createElement(e):{}}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,a){var i=a(9);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==i(e)?e.split(""):Object(e)}},function(e,t){e.exports=!1},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,a){var i=a(13).f,r=a(12),n=a(1)("toStringTag");e.exports=function(e,t,a){e&&!r(e=a?e:e.prototype,n)&&i(e,n,{configurable:!0,value:t})}},function(e,t,a){var i=a(49)("keys"),r=a(30);e.exports=function(e){return i[e]||(i[e]=r(e))}},function(e,t,a){var i=a(16);e.exports=function(e){return Object(i(e))}},function(e,t,a){var i=a(5);e.exports=function(e,t){if(!i(e))return e;var a,r;if(t&&"function"==typeof(a=e.toString)&&!i(r=a.call(e)))return r;if("function"==typeof(a=e.valueOf)&&!i(r=a.call(e)))return r;if(!t&&"function"==typeof(a=e.toString)&&!i(r=a.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t){var a=0,i=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++a+i).toString(36))}},function(e,t,a){"use strict";var i=a(0),r=a(12),n=a(9),o=a(67),u=a(29),s=a(7),_=a(77).f,f=a(45).f,l=a(13).f,g=a(51).trim,F=i.Number,h=F,d=F.prototype,c="Number"==n(a(44)(d)),m="trim"in String.prototype,p=function(e){var t=u(e,!1);if("string"==typeof t&&t.length>2){var a,i,r,n=(t=m?t.trim():g(t,3)).charCodeAt(0);if(43===n||45===n){if(88===(a=t.charCodeAt(2))||120===a)return NaN}else if(48===n){switch(t.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+t}for(var o,s=t.slice(2),_=0,f=s.length;_r)return NaN;return parseInt(s,i)}}return+t};if(!F(" 0o1")||!F("0b1")||F("+0x1")){F=function(e){var t=arguments.length<1?0:e,a=this;return a instanceof F&&(c?s((function(){d.valueOf.call(a)})):"Number"!=n(a))?o(new h(p(t)),a,F):p(t)};for(var b,y=a(4)?_(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;y.length>k;k++)r(h,b=y[k])&&!r(F,b)&&l(F,b,f(h,b));F.prototype=d,d.constructor=F,a(6)(i,"Number",F)}},function(e,t,a){"use strict";function i(e){return!(0===e||(!Array.isArray(e)||0!==e.length)&&e)}function r(e,t,a,i){return e.filter((function(e){return function(e,t){return void 0===e&&(e="undefined"),null===e&&(e="null"),!1===e&&(e="false"),-1!==e.toString().toLowerCase().indexOf(t.trim())}(i(e,a),t)}))}function n(e){return e.filter((function(e){return!e.$isLabel}))}function o(e,t){return function(a){return a.reduce((function(a,i){return i[e]&&i[e].length?(a.push({$groupLabel:i[t],$isLabel:!0}),a.concat(i[e])):a}),[])}}function u(e,t,i,n,o){return function(u){return u.map((function(u){var s;if(!u[i])return console.warn("Options passed to vue-multiselect do not contain groups, despite the config."),[];var _=r(u[i],e,t,o);return _.length?(s={},a.i(g.a)(s,n,u[n]),a.i(g.a)(s,i,_),s):[]}))}}var s=a(59),_=a(54),f=(a.n(_),a(95)),l=(a.n(f),a(31)),g=(a.n(l),a(58)),F=a(91),h=(a.n(F),a(98)),d=(a.n(h),a(92)),c=(a.n(d),a(88)),m=(a.n(c),a(97)),p=(a.n(m),a(89)),b=(a.n(p),a(96)),y=(a.n(b),a(93)),k=(a.n(y),a(90)),D=(a.n(k),function(){for(var e=arguments.length,t=new Array(e),a=0;a-1},isSelected:function(e){var t=this.trackBy?e[this.trackBy]:e;return this.valueKeys.indexOf(t)>-1},isOptionDisabled:function(e){return!!e.$isDisabled},getOptionLabel:function(e){if(i(e))return"";if(e.isTag)return e.label;if(e.$isLabel)return e.$groupLabel;var t=this.customLabel(e,this.label);return i(t)?"":t},select:function(e,t){if(e.$isLabel&&this.groupSelect)this.selectGroup(e);else if(!(-1!==this.blockKeys.indexOf(t)||this.disabled||e.$isDisabled||e.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==t||this.pointerDirty)){if(e.isTag)this.$emit("tag",e.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(e))return void("Tab"!==t&&this.removeElement(e));this.$emit("select",e,this.id),this.multiple?this.$emit("input",this.internalValue.concat([e]),this.id):this.$emit("input",e,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(e){var t=this,a=this.options.find((function(a){return a[t.groupLabel]===e.$groupLabel}));if(a)if(this.wholeGroupSelected(a)){this.$emit("remove",a[this.groupValues],this.id);var i=this.internalValue.filter((function(e){return-1===a[t.groupValues].indexOf(e)}));this.$emit("input",i,this.id)}else{var r=a[this.groupValues].filter((function(e){return!(t.isOptionDisabled(e)||t.isSelected(e))}));this.$emit("select",r,this.id),this.$emit("input",this.internalValue.concat(r),this.id)}},wholeGroupSelected:function(e){var t=this;return e[this.groupValues].every((function(e){return t.isSelected(e)||t.isOptionDisabled(e)}))},wholeGroupDisabled:function(e){return e[this.groupValues].every(this.isOptionDisabled)},removeElement:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!e.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var i="object"===a.i(s.a)(e)?this.valueKeys.indexOf(e[this.trackBy]):this.valueKeys.indexOf(e);if(this.$emit("remove",e,this.id),this.multiple){var r=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit("input",r,this.id)}else this.$emit("input",null,this.id);this.closeOnSelect&&t&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var e=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.$nextTick((function(){return e.$refs.search.focus()}))):this.$el.focus(),this.$emit("open",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if("undefined"!=typeof window){var e=this.$el.getBoundingClientRect().top,t=window.innerHeight-this.$el.getBoundingClientRect().bottom;t>this.maxHeight||t>e||"below"===this.openDirection||"bottom"===this.openDirection?(this.preferredOpenDirection="below",this.optimizedHeight=Math.min(t-40,this.maxHeight)):(this.preferredOpenDirection="above",this.optimizedHeight=Math.min(e-40,this.maxHeight))}}}}},function(e,t,a){"use strict";var i=a(54),r=(a.n(i),a(31));a.n(r),t.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(e,t){return{"multiselect__option--highlight":e===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(t)}},groupHighlight:function(e,t){var a=this;if(!this.groupSelect)return["multiselect__option--group","multiselect__option--disabled"];var i=this.options.find((function(e){return e[a.groupLabel]===t.$groupLabel}));return i&&!this.wholeGroupDisabled(i)?["multiselect__option--group",{"multiselect__option--highlight":e===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(i)}]:"multiselect__option--disabled"},addPointerElement:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter").key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(e){this.pointer=e,this.pointerDirty=!0}}}},function(e,t,a){"use strict";var i=a(36),r=a(74),n=a(15),o=a(18);e.exports=a(72)(Array,"Array",(function(e,t){this._t=o(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,a=this._i++;return!e||a>=e.length?(this._t=void 0,r(1)):r(0,"keys"==t?a:"values"==t?e[a]:[a,e[a]])}),"values"),n.Arguments=n.Array,i("keys"),i("values"),i("entries")},function(e,t,a){"use strict";var i=a(31),r=(a.n(i),a(32)),n=a(33);t.a={name:"vue-multiselect",mixins:[r.a,n.a],props:{name:{type:String,default:""},selectLabel:{type:String,default:"Press enter to select"},selectGroupLabel:{type:String,default:"Press enter to select group"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Press enter to remove"},deselectGroupLabel:{type:String,default:"Press enter to deselect group"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(e){return"and ".concat(e," more")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:""},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:""},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:""},selectLabelText:function(){return this.showLabels?this.selectLabel:""},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:""},selectedLabelText:function(){return this.showLabels?this.selectedLabel:""},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:"100%"}:{width:"0",position:"absolute",padding:"0"}},contentStyle:function(){return this.options.length?{display:"inline-block"}:{display:"block"}},isAbove:function(){return"above"===this.openDirection||"top"===this.openDirection||"below"!==this.openDirection&&"bottom"!==this.openDirection&&"above"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(e,t,a){var i=a(1)("unscopables"),r=Array.prototype;null==r[i]&&a(8)(r,i,{}),e.exports=function(e){r[i][e]=!0}},function(e,t,a){var i=a(18),r=a(19),n=a(85);e.exports=function(e){return function(t,a,o){var u,s=i(t),_=r(s.length),f=n(o,_);if(e&&a!=a){for(;_>f;)if((u=s[f++])!=u)return!0}else for(;_>f;f++)if((e||f in s)&&s[f]===a)return e||f||0;return!e&&-1}}},function(e,t,a){var i=a(9),r=a(1)("toStringTag"),n="Arguments"==i(function(){return arguments}());e.exports=function(e){var t,a,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),r))?a:n?i(t):"Object"==(o=i(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,a){"use strict";var i=a(2);e.exports=function(){var e=i(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,a){var i=a(0).document;e.exports=i&&i.documentElement},function(e,t,a){e.exports=!a(4)&&!a(7)((function(){return 7!=Object.defineProperty(a(21)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,a){var i=a(9);e.exports=Array.isArray||function(e){return"Array"==i(e)}},function(e,t,a){"use strict";function i(e){var t,a;this.promise=new e((function(e,i){if(void 0!==t||void 0!==a)throw TypeError("Bad Promise constructor");t=e,a=i})),this.resolve=r(t),this.reject=r(a)}var r=a(14);e.exports.f=function(e){return new i(e)}},function(e,t,a){var i=a(2),r=a(76),n=a(22),o=a(27)("IE_PROTO"),u=function(){},s=function(){var e,t=a(21)("iframe"),i=n.length;for(t.style.display="none",a(40).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertCircleOutline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertCircleOutline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AlertCircleOutline.vue?vue&type=template&id=108cd4b2&\"\nimport script from \"./AlertCircleOutline.vue?vue&type=script&lang=js&\"\nexport * from \"./AlertCircleOutline.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon alert-circle-outline-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ArrowLeft.vue?vue&type=template&id=187c55d7&\"\nimport script from \"./ArrowLeft.vue?vue&type=script&lang=js&\"\nexport * from \"./ArrowLeft.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Check.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Check.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Check.vue?vue&type=template&id=2e48c8c6&\"\nimport script from \"./Check.vue?vue&type=script&lang=js&\"\nexport * from \"./Check.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronLeft.vue?vue&type=template&id=09d94b5a&\"\nimport script from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronRight.vue?vue&type=template&id=750bcc07&\"\nimport script from \"./ChevronRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronRight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-right-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=75d4151a&\"\nimport script from \"./Close.vue?vue&type=script&lang=js&\"\nexport * from \"./Close.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon close-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LinkVariant.vue?vue&type=template&id=3834522c&\"\nimport script from \"./LinkVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./LinkVariant.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon link-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Magnify.vue?vue&type=template&id=d480a606&\"\nimport script from \"./Magnify.vue?vue&type=script&lang=js&\"\nexport * from \"./Magnify.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon magnify-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pause.vue?vue&type=template&id=713ddbb4&\"\nimport script from \"./Pause.vue?vue&type=script&lang=js&\"\nexport * from \"./Pause.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon pause-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,19H18V5H14M6,19H10V5H6V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Play.vue?vue&type=template&id=40a96fba&\"\nimport script from \"./Play.vue?vue&type=script&lang=js&\"\nexport * from \"./Play.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon play-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8,5.14V19.14L19,12.14L8,5.14Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./UndoVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./UndoVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UndoVariant.vue?vue&type=template&id=3b13fe6c&\"\nimport script from \"./UndoVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./UndoVariant.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon undo-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=60)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(49)(\"wks\"),r=n(30),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(0),r=n(10),o=n(8),s=n(6),u=n(11),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,g=t&a.P,y=t&a.B,m=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,b=d?r:r[e]||(r[e]={}),_=b.prototype||(b.prototype={});d&&(n=e);for(l in n)c=!h&&m&&void 0!==m[l],f=(c?m:n)[l],p=y&&c?u(f,i):g&&\"function\"==typeof f?u(Function.call,f):f,m&&s(m,l,f,t&a.U),b[l]!=f&&o(b,l,p),g&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){t.exports=!n(7)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(0),r=n(8),o=n(12),s=n(30)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(10).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(13),r=n(25);t.exports=n(4)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(14);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(2),r=n(41),o=n(29),s=Object.defineProperty;e.f=n(4)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){\"use strict\";var i=n(7);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var i=n(23),r=n(16);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(53),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(11),r=n(23),o=n(28),s=n(19),u=n(64);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,g,y=o(e),m=r(y),b=i(u,d,3),_=s(m.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in m)&&(v=m[x],g=b(v,x,y),t))if(n)w[x]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){var i=n(5),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(9);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e){t.exports=!1},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(13).f,r=n(12),o=n(1)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(49)(\"keys\"),r=n(30);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(0),r=n(12),o=n(9),s=n(67),u=n(29),a=n(7),l=n(77).f,c=n(45).f,f=n(13).f,p=n(51).trim,h=i.Number,d=h,v=h.prototype,g=\"Number\"==o(n(44)(v)),y=\"trim\"in String.prototype,m=function(t){var e=u(t,!1);if(\"string\"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,i,r,o=e.charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var s,a=e.slice(2),l=0,c=a.length;lr)return NaN;return parseInt(a,i)}}return+e};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(g?a(function(){v.valueOf.call(n)}):\"Number\"!=o(n))?s(new d(m(e)),n,h):m(e)};for(var b,_=n(4)?l(d):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),x=0;_.length>x;x++)r(d,b=_[x])&&!r(h,b)&&f(h,b,c(d,b));h.prototype=v,v.constructor=h,n(6)(i,\"Number\",h)}},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,i,r,o){return function(u){return u.map(function(u){var a;if(!u[i])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var l=s(u[i],t,e,o);return l.length?(a={},n.i(d.a)(a,r,u[r]),n.i(d.a)(a,i,l),a):[]})}}var c=n(59),f=n(54),p=(n.n(f),n(95)),h=(n.n(p),n(31)),d=(n.n(h),n(58)),v=n(91),g=(n.n(v),n(98)),y=(n.n(g),n(92)),m=(n.n(y),n(88)),b=(n.n(m),n(97)),_=(n.n(b),n(89)),x=(n.n(_),n(96)),w=(n.n(x),n(93)),S=(n.n(w),n(90)),O=(n.n(S),function(){for(var t=arguments.length,e=new Array(t),n=0;n-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},isOptionDisabled:function(t){return!!t.$isDisabled},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var r=n[this.groupValues].filter(function(t){return!(e.isOptionDisabled(t)||e.isSelected(t))});this.$emit(\"select\",r,this.id),this.$emit(\"input\",this.internalValue.concat(r),this.id)}},wholeGroupSelected:function(t){var e=this;return t[this.groupValues].every(function(t){return e.isSelected(t)||e.isOptionDisabled(t)})},wholeGroupDisabled:function(t){return t[this.groupValues].every(this.isOptionDisabled)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!t.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var i=\"object\"===n.i(c.a)(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var r=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit(\"input\",r,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.preferredOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.preferredOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(54),r=(n.n(i),n(31));n.n(r);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--group\",\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return i&&!this.wholeGroupDisabled(i)?[\"multiselect__option--group\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]:\"multiselect__option--disabled\"},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e,n){\"use strict\";var i=n(36),r=n(74),o=n(15),s=n(18);t.exports=n(72)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){\"use strict\";var i=n(31),r=(n.n(i),n(32)),o=n(33);e.a={name:\"vue-multiselect\",mixins:[r.a,o.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"100%\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){var i=n(1)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(8)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(18),r=n(19),o=n(85);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(9),r=n(1)(\"toStringTag\"),o=\"Arguments\"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),r))?n:o?i(e):\"Object\"==(u=i(e))&&\"function\"==typeof e.callee?\"Arguments\":u}},function(t,e,n){\"use strict\";var i=n(2);t.exports=function(){var t=i(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e}},function(t,e,n){var i=n(0).document;t.exports=i&&i.documentElement},function(t,e,n){t.exports=!n(4)&&!n(7)(function(){return 7!=Object.defineProperty(n(21)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(9);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";function i(t){var e,n;this.promise=new t(function(t,i){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=i}),this.resolve=r(e),this.reject=r(n)}var r=n(14);t.exports.f=function(t){return new i(t)}},function(t,e,n){var i=n(2),r=n(76),o=n(22),s=n(27)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(21)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(40).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"\n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
    ` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {HastNodes | null | undefined}\n * hast tree.\n */\n// To do: next major: always return a single `root`.\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, null)\n const foot = footer(state)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n // To do: next major: always return root?\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef NodeLike\n * @property {PositionLike | null | undefined} [position]\n */\n\n/**\n * Check if `node` is generated.\n *\n * @param {NodeLike | null | undefined} [node]\n * Node to check.\n * @returns {boolean}\n * Whether `node` is generated (does not have positional info).\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\nexport function footer(state) {\n /** @type {Array} */\n const listItems = []\n let index = -1\n\n while (++index < state.footnoteOrder.length) {\n const def = state.footnoteById[state.footnoteOrder[index]]\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n\n while (++referenceIndex <= state.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: state.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: state.clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: state.footnoteLabelTagName,\n properties: {\n // To do: use structured clone.\n ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: state.footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further plugins run on the hast tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned by `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","import stripAnsi from 'strip-ansi';\nimport charRegex from 'char-regex';\n\nexport default function stringLength(string, {countAnsiEscapeCodes = false} = {}) {\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\treturn string.match(charRegex()).length;\n}\n","import ansiRegex from 'ansi-regex';\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\treturn string.replace(ansiRegex(), '');\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","// Based on https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js\r\n\r\nexport default function charRegex() {\r\n\t// Unicode character classes\r\n\tconst astralRange = '\\\\ud800-\\\\udfff';\r\n\tconst comboMarksRange = '\\\\u0300-\\\\u036f';\r\n\tconst comboHalfMarksRange = '\\\\ufe20-\\\\ufe2f';\r\n\tconst comboSymbolsRange = '\\\\u20d0-\\\\u20ff';\r\n\tconst comboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff';\r\n\tconst comboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff';\r\n\tconst comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange;\r\n\tconst varRange = '\\\\ufe0e\\\\ufe0f';\r\n\r\n\t// Telugu characters\r\n\tconst teluguVowels = '\\\\u0c05-\\\\u0c0c\\\\u0c0e-\\\\u0c10\\\\u0c12-\\\\u0c14\\\\u0c60-\\\\u0c61';\r\n\tconst teluguVowelsDiacritic = '\\\\u0c3e-\\\\u0c44\\\\u0c46-\\\\u0c48\\\\u0c4a-\\\\u0c4c\\\\u0c62-\\\\u0c63';\r\n\tconst teluguConsonants = '\\\\u0c15-\\\\u0c28\\\\u0c2a-\\\\u0c39';\r\n\tconst teluguConsonantsRare = '\\\\u0c58-\\\\u0c5a';\r\n\tconst teluguModifiers = '\\\\u0c01-\\\\u0c03\\\\u0c4d\\\\u0c55\\\\u0c56';\r\n\tconst teluguNumerals = '\\\\u0c66-\\\\u0c6f\\\\u0c78-\\\\u0c7e';\r\n\tconst teluguSingle = `[${teluguVowels}(?:${teluguConsonants}(?!\\\\u0c4d))${teluguNumerals}${teluguConsonantsRare}]`;\r\n\tconst teluguDouble = `[${teluguConsonants}${teluguConsonantsRare}][${teluguVowelsDiacritic}]|[${teluguConsonants}${teluguConsonantsRare}][${teluguModifiers}`;\r\n\tconst teluguTriple = `[${teluguConsonants}]\\\\u0c4d[${teluguConsonants}]`;\r\n\tconst telugu = `(?:${teluguTriple}|${teluguDouble}|${teluguSingle})`;\r\n\r\n\t// Unicode capture groups\r\n\tconst astral = `[${astralRange}]`;\r\n\tconst combo = `[${comboRange}]`;\r\n\tconst fitz = '\\\\ud83c[\\\\udffb-\\\\udfff]';\r\n\tconst modifier = `(?:${combo}|${fitz})`;\r\n\tconst nonAstral = `[^${astralRange}]`;\r\n\tconst regional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}';\r\n\tconst surrogatePair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]';\r\n\tconst zeroWidthJoiner = '\\\\u200d';\r\n\tconst blackFlag = '(?:\\\\ud83c\\\\udff4\\\\udb40\\\\udc67\\\\udb40\\\\udc62\\\\udb40(?:\\\\udc65|\\\\udc73|\\\\udc77)\\\\udb40(?:\\\\udc6e|\\\\udc63|\\\\udc6c)\\\\udb40(?:\\\\udc67|\\\\udc74|\\\\udc73)\\\\udb40\\\\udc7f)';\r\n\r\n\t// Unicode regexes\r\n\tconst optModifier = `${modifier}?`;\r\n\tconst optVar = `[${varRange}]?`;\r\n\tconst optJoin = `(?:${zeroWidthJoiner}(?:${[nonAstral, regional, surrogatePair].join('|')})${optVar + optModifier})*`;\r\n\tconst seq = optVar + optModifier + optJoin;\r\n\tconst nonAstralCombo = `${nonAstral}${combo}?`;\r\n\tconst symbol = `(?:${[blackFlag, nonAstralCombo, combo, regional, surrogatePair, astral].join('|')})`;\r\n\r\n\t// Match string symbols (https://mathiasbynens.be/notes/javascript-unicode)\r\n\treturn new RegExp(`${fitz}(?=${fitz})|${telugu}|${symbol + seq}`, 'g');\r\n}\r\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason` at `place` from `origin`.\n *\n * When an error is passed in as `reason`, the `stack` is copied.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n *\n * > 👉 **Note**: you should use markdown.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // To do: next major: expose `undefined` everywhere instead of `null`.\n constructor(reason, place, origin) {\n /** @type {[string | null, string | null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n // To do: next major: deep clone.\n // @ts-expect-error: looks like a position.\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n // @ts-expect-error: looks like a position.\n // To do: next major: deep clone.\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n // To do: next major: deep clone.\n position.start = place\n }\n }\n\n // Fields from `Error`.\n /**\n * Serialized positional info of error.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(place) || '1:1'\n\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = typeof reason === 'object' ? reason.message : reason\n\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack = ''\n\n if (typeof reason === 'object' && reason.stack) {\n this.stack = reason.stack\n }\n\n /**\n * Reason for message.\n *\n * > 👉 **Note**: you should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /* eslint-disable no-unused-expressions */\n /**\n * State of problem.\n *\n * * `true` — marks associated file as no longer processable (error)\n * * `false` — necessitates a (potential) change (warning)\n * * `null | undefined` — for things that might not need changing (info)\n *\n * @type {boolean | null | undefined}\n */\n this.fatal\n\n /**\n * Starting line of error.\n *\n * @type {number | null}\n */\n this.line = position.start.line\n\n /**\n * Starting column of error.\n *\n * @type {number | null}\n */\n this.column = position.start.column\n\n /**\n * Full unist position.\n *\n * @type {Position | null}\n */\n this.position = position\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | null}\n */\n this.source = parts[0]\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | null}\n */\n this.ruleId = parts[1]\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | null}\n */\n this.file\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that’s being reported, which is deemed\n * incorrect.\n *\n * @type {string | null}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array | null}\n */\n this.expected\n\n /**\n * Link to docs for the message.\n *\n * > 👉 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | null}\n */\n this.url\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | null}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | undefined} [ext]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * Check if `fileUrlOrPath` looks like a URL.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: \nexport function isUrl(fileUrlOrPath) {\n return (\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.href &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.origin\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {Record & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n *\n * This is a copy of the types from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: \n *\n * @typedef {Options | URL | Value | VFile} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {Value | null | undefined} [value]\n * Set `value`.\n * @property {string | null | undefined} [cwd]\n * Set `cwd`.\n * @property {Array | null | undefined} [history]\n * Set `history`.\n * @property {URL | string | null | undefined} [path]\n * Set `path`.\n * @property {string | null | undefined} [basename]\n * Set `basename`.\n * @property {string | null | undefined} [stem]\n * Set `stem`.\n * @property {string | null | undefined} [extname]\n * Set `extname`.\n * @property {string | null | undefined} [dirname]\n * Set `dirname`.\n * @property {Data | null | undefined} [data]\n * Set `data`.\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * .\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array} sources\n * An array of URLs to the original source files.\n * @property {Array} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template {ReporterSettings} Settings\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport bufferLike from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n *\n * @type {Array<'basename' | 'dirname' | 'extname' | 'history' | 'path' | 'stem'>}\n */\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Buffer` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {string | URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Buffer`\n * (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding || undefined)\n }\n\n /**\n * Create a warning message associated with the file.\n *\n * Its `fatal` is set to `false` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Create an info message associated with the file.\n *\n * Its `fatal` is set to `null` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Create a fatal error associated with the file.\n *\n * Its `fatal` is set to `true` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Message.\n * @throws {VFileMessage}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {void}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is a buffer.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Buffer}\n * Whether `value` is a Node.js buffer.\n */\nfunction buffer(value) {\n return bufferLike(value)\n}\n","/// \n\nimport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {string | URL} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.charCodeAt(index) === 37 /* `%` */ &&\n pathname.charCodeAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.charCodeAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n\nexport {isUrl} from './minurl.shared.js'\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array) => void} Callback\n * @typedef {(...input: Array) => any} Middleware\n *\n * @typedef {(...input: Array) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n */\n\n/**\n * @typedef {Array | string} ChildrenOrValue\n * List to use as `children` or value to use as `value`.\n *\n * @typedef {Record} Props\n * Other fields to add to the node.\n */\n\n/**\n * Build a node.\n *\n * @param type\n * Node type.\n * @param props\n * Fields assigned to node.\n * @param value\n * Children of node or value of `node` (cast to string).\n * @returns\n * Built node.\n */\nexport const u =\n /**\n * @type {(\n * ((type: T) => {type: T}) &\n * ((type: T, props: P) => {type: T} & P) &\n * ((type: T, value: string) => {type: T, value: string}) &\n * ((type: T, props: P, value: string) => {type: T, value: string} & P) &\n * (>(type: T, children: C) => {type: T, children: C}) &\n * (>(type: T, props: P, children: C) => {type: T, children: C} & P)\n * )}\n */\n (\n /**\n * @param {string} type\n * @param {Props | ChildrenOrValue | null | undefined} [props]\n * @param {ChildrenOrValue | null | undefined} [value]\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n const node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n // @ts-expect-error: create a parent.\n node.children = value\n } else if (value !== undefined && value !== null) {\n // @ts-expect-error: create a literal.\n node.value = String(value)\n }\n\n return node\n }\n )\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @typedef {Record} Props\n * @typedef {null | undefined | string | Props | TestFunctionAnything | Array} Test\n * Check for an arbitrary node, unaware of TypeScript inferral.\n *\n * @callback TestFunctionAnything\n * Check if a node passes a test, unaware of TypeScript inferral.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | void}\n * Whether this node passes the test.\n */\n\n/**\n * @template {Node} Kind\n * Node type.\n * @typedef {Kind['type'] | Partial | TestFunctionPredicate | Array | TestFunctionPredicate>} PredicateTest\n * Check for a node that can be inferred by TypeScript.\n */\n\n/**\n * Check if a node passes a certain test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback TestFunctionPredicate\n * Complex test function for a node that can be inferred by TypeScript.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this node passes the test.\n */\n\n/**\n * @callback AssertAnything\n * Check that an arbitrary value is a node, unaware of TypeScript inferral.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if a node is a node and passes a certain node test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback AssertPredicate\n * Check that an arbitrary value is a specific node, aware of TypeScript.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @param test\n * A check for a specific node.\n * @param index\n * The node’s position in its parent.\n * @param parent\n * The node’s parent.\n * @returns\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n /**\n * @type {(\n * (() => false) &\n * ((node: unknown, test: PredicateTest, index: number, parent: Parent, context?: unknown) => node is Kind) &\n * ((node: unknown, test: PredicateTest, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &\n * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &\n * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns\n * An assertion.\n */\nexport const convert =\n /**\n * @type {(\n * ((test: PredicateTest) => AssertPredicate) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {Array} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {unknown} node\n * @param {Array} parameters\n * @returns {boolean}\n */\n function assertion(node, ...parameters) {\n return Boolean(\n node &&\n typeof node === 'object' &&\n 'type' in node &&\n // @ts-expect-error: fine.\n Boolean(check.call(this, node, ...parameters))\n )\n }\n}\n\nfunction ok() {\n return true\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n */\n\n/**\n * @typedef {boolean | 'skip'} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * Tree type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {Visitor, Check>, Extract, Parent>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visitParents =\n /**\n * @type {(\n * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) &\n * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {Node} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n /** @type {Record} */\n // @ts-expect-error: hush\n const value = node && typeof node === 'object' ? node : {}\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {ActionTuple}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * Check if `Child` can be a child of `Ancestor`.\n *\n * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns\n * `never`.\n *\n * @template {Node} Ancestor\n * Node type.\n * @template {Node} Child\n * Node type.\n * @typedef {(\n * Ancestor extends Parent\n * ? Child extends Ancestor['children'][number]\n * ? Ancestor\n * : never\n * : never\n * )} ParentsOf\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends Node ? number | null : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends Node ? Ancestor | null : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Visited\n * Node type.\n * @template {Parent} Ancestor\n * Parent type.\n * @typedef {Visitor>} BuildVisitorFromMatch\n */\n\n/**\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n * @typedef {(\n * BuildVisitorFromMatch<\n * import('unist-util-visit-parents/complex-types.js').Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n */\n\n/**\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} [Tree=Node]\n * Node type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {(\n * BuildVisitorFromDescendants<\n * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visit =\n /**\n * @type {(\n * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) &\n * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n"],"names":["visit","hasOwnProperty","Object","prototype","hastCssPropertyMap","align","valign","height","width","visitor","node","hastName","tagName","call","undefined","properties","appendStyle","property","value","prevStyle","style","trim","test","nextStyle","module","exports","convert","Boolean","type","typeFactory","ok","anyFactory","matchesFactory","Error","key","tests","checks","results","length","index","convertAll","apply","this","arguments","visitParents","CONTINUE","SKIP","EXIT","tree","reverse","is","one","parents","subresult","result","toResult","children","step","all","concat","parent","indexOf","defineProperty","buffer","_interopDefaultLegacy","e","isSvg__default","readAsText","svg","Promise","resolve","isFile","fileReader_1","FileReader","onload","toString","obj","size","sanitizeSVG","thisArg","_arguments","generator","svgText","div","svgEl","attributes","hasScriptAttr","body","f","y","t","g","_","label","sent","trys","ops","next","verb","Symbol","iterator","n","v","op","TypeError","done","pop","push","__generator","_a","Buffer","isBuffer","File","document","createElement","innerHTML","firstElementChild","Array","from","map","name","find","attr","startsWith","getElementsByTagName","P","reject","fulfilled","rejected","then","base64","ieee754","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Uint8Array","__proto__","arg","encodingOrOffset","allocUnsafe","string","encoding","isEncoding","byteLength","actual","write","slice","fromString","ArrayBuffer","isView","fromArrayLike","isInstance","array","byteOffset","fromArrayBuffer","valueOf","b","len","checked","copy","numberIsNaN","isArray","data","fromObject","toPrimitive","assertSize","i","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","val","dir","arrayIndexOf","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","foo","typedArraySupport","console","error","enumerable","get","species","configurable","writable","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","list","pos","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","bytes","checkOffset","ext","checkInt","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","split","base64clean","src","dst","constructor","debounce","func","wait","immediate","timeout","args","context","timestamp","later","last","Date","now","setTimeout","debounced","callNow","clear","clearTimeout","flush","self","window","requestAnimationFrame","cancelAnimationFrame","getTime","r","o","d","toStringTag","Anchors","k","Category","J","Emoji","W","EmojiData","$","EmojiIndex","q","EmojiView","R","Picker","oe","Preview","Z","Search","K","Skins","X","frequently","w","sanitize","N","store","uncompress","JSON","s","localStorage","stringify","update","parse","setNamespace","setHandlers","getter","setter","u","l","h","unified","non_qualified","has_img_apple","has_img_google","has_img_twitter","has_img_facebook","keywords","sheet","emoticons","text","short_names","added_in","forEach","join","return","getOwnPropertyNames","freeze","p","compressed","emojis","unshift","sheet_x","sheet_y","toFixed","search","add","id","sort","activity","custom","flags","foods","nature","objects","smileys","people","places","recent","symbols","C","options","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","props","i18n","required","color","categories","activeCategory","default","created","svgs","$createElement","_self","_c","staticClass","attrs","role","_l","class","on","click","$emit","domProps","_s","_v","backgroundColor","E","S","O","fromCodePoint","floor","A","reduce","M","filter","I","F","z","L","T","emojisToShowFilter","include","exclude","recentLength","_data","_emojisFilter","_include","_exclude","_custom","_recent","_emojis","_nativeEmojis","_emoticons","_categories","_recentCategory","_customCategory","_searchIndex","buildIndex","isCategoryNeeded","addEmoji","addCustomEmoji","hasEmoji","emoji","match","aliases","getSkin","keys","assign","isEmojiNeeded","native","_skins","skin_variations","skin_tone","_sanitized","short_name","_emoji","_native","_skin","_set","_fallback","canRender","_canRender","cssClass","_cssClass","cssStyle","_cssStyle","content","_content","title","ariaLabel","_isCustom","_isNative","_hasEmoji","_emojiType","backgroundImage","getEmoji","imageUrl","backgroundSize","backgroundPosition","getPosition","fontSize","round","colons","skin","D","B","tooltip","fallback","Function","tag","H","perLine","maxSearchResults","emojiSize","defaultSkin","emojiTooltip","autoFocus","showPreview","showSearch","showCategories","showSkinTones","infiniteScroll","pickerStyles","U","getOwnPropertySymbols","getOwnPropertyDescriptor","V","getOwnPropertyDescriptors","defineProperties","emits","computed","view","emojiObject","sanitizedData","findEmoji","methods","onClick","onMouseEnter","onMouseLeave","mouseenter","mouseleave","_e","emojiProps","activeClass","selectedEmoji","selectedEmojiCategory","isVisible","isSearch","hasResults","emojiObjects","emojiView","components","onEnter","onLeave","notfound","opened","idleEmoji","skinProps","onSkinChange","emojiData","emojiShortNames","emojiEmoticons","change","G","onSearch","onArrowLeft","onArrowRight","onArrowDown","onArrowUp","emojiIndex","watch","mounted","$el","querySelector","focus","directives","rawName","expression","placeholder","keydown","_k","keyCode","button","input","composing","Q","Y","_vm","_perLine","first","searchEmojis","previewEmoji","previewEmojiCategoryIdx","previewEmojiIdx","$refs","scroll","scrollTop","filteredCategories","getCategoryComponent","offsetTop","updatePreviewEmoji","emojisLength","$nextTick","offsetHeight","ee","te","ie","ne","activeSkin","customStyles","calculateWidth","previewEmojiCategory","onEmojiEnter","bind","onEmojiLeave","onEmojiClick","overflow","position","top","appendChild","offsetWidth","clientWidth","removeChild","mergedI18n","firstEmoji","onScroll","waitingForPaint","onScrollPaint","onAnchorClick","preventDefault","re","allCategories","_t","ref","arrowLeft","arrowRight","arrowDown","arrowUp","enter","refInFor","hasOwn","toStr","gOPD","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","extend","copyIsArray","clone","deep","validator","XMLParser","XMLBuilder","XMLValidator","nameStartChar","nameRegexp","regexName","RegExp","isExist","isEmptyObject","merge","arrayMode","getValue","isName","exec","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","util","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","substring","msg","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","line","tagClosed","otg","openPos","col","afterAmp","validateAmpersand","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","validateNumberAmpersand","count","message","lineNumber","lines","buildFromOrderedJs","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","cdataPropName","format","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","tagValueProcessor","attributeValueProcessor","preserveOrder","commentPropName","entities","processEntities","stopNodes","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","j2x","buildTextValNode","buildObjectNode","repeat","build","jObj","arrayNodeName","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","listTagVal","item","Ks","closeTag","tagEndExp","piClosingChar","textValue","entity","arrToStr","jPath","indentation","xmlStr","isPreviousElementTag","tagObj","propName","newJPath","tagText","isStopNode","attStr","attr_to_str","tempInd","piTextNodeName","newIdentation","tagStart","tagValue","endsWith","attrMap","attrVal","jArray","readEntityExp","entityName","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","hasBody","comment","exp","regx","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","numberParseOptions","hex","leadingZeros","eNotation","alwaysCreateTextNode","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","xmlNode","readDocType","toNumber","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","addChild","endIndex","docTypeEntities","lastTag","isItStopNode","tagContent","readStopNodeData","child","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","openTagCount","shouldParse","OrderedObjParser","prettify","validationOption","orderedObjParser","orderedResult","addEntity","compress","compressedObj","newJpath","isLeaf","isLeafTag","assignAttributes","jpath","atrrName","propCount","exportName","VENDOR_PREFIXES","TEST_ELEMENT","TYPE_FUNCTION","abs","setTimeoutContext","fn","bindFn","invokeArrayArg","each","deprecate","method","deprecationMessage","stack","log","warn","output","source","nextKey","dest","inherit","base","childP","baseP","create","_super","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","handler","splitStr","addEventListener","removeEventListeners","removeEventListener","hasParent","parentNode","inStr","inArray","findByKey","toArray","uniqueArray","values","prefixed","prop","camelProp","toUpperCase","_uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","parentWindow","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_MOUSE","COMPUTE_INTERVAL","INPUT_START","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","PROPS_XY","PROPS_CLIENT_XY","Input","manager","callback","inputTarget","domHandler","ev","enable","init","inputHandler","eventType","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","offsetDelta","prevDelta","prevInput","deltaX","deltaY","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","scale","rotation","getRotation","maxPointers","velocity","velocityX","velocityY","direction","lastInterval","computeIntervalInputData","srcEvent","computeInputData","emit","recognize","clientX","clientY","p1","p2","sqrt","atan2","PI","evEl","evTarget","evWin","destroy","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","MouseInput","pressed","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","splice","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SingleTouchInput","started","normalizeSingleTouches","touches","changed","changedTouches","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","TouchInput","targetIds","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","touch","DEDUP_TIMEOUT","TouchMouseInput","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","getTouchActionProps","TouchAction","compute","actions","touchAction","recognizers","recognizer","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_POSSIBLE","STATE_FAILED","Recognizer","defaults","state","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","Hammer","preset","Manager","handlers","oldCssProps","inputClass","toggleCssProps","recognizeWith","requireFailure","cssProps","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","event","additionalEvent","tryEmit","canEmit","inputDataClone","reset","process","attrTest","optionPointers","isRecognized","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","stop","force","stopped","curRecognizer","existing","remove","events","off","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","triggerDomEvent","INPUT_MOVE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","Tap","Pan","Swipe","Pinch","Rotate","Press","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","lineno","column","updatePosition","Position","whitespace","errorsList","reason","filename","silent","comments","rules","declaration","decl","decls","declarations","isSvg","jsonObject","parser","hexRegex","numRegex","parseFloat","consider","decimalPoint","trimmedStr","skipLike","sign","numTrimmedByZeros","numStr","num","StyleToObject","hasIterator","predicate","CustomEvent","CustomEvent$1","params","bubbles","cancelable","detail","evt","initCustomEvent","Event","TributeEvents","tribute","static","boundKeydown","boundKeyup","keyup","boundInput","unbind","instance","shouldDeactivate","isActive","hideMenu","commandEvent","callbacks","menu","contains","li","stopPropagation","nodeName","selectItemAtIndex","getAttribute","current","externalTrigger","updateSelection","allowSpaces","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","isNaN","trigger","triggers","mentionText","collection","menuShowMinLength","showMenuFor","eventKeyPressed","el","info","range","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","collectionItem","filteredItems","menuSelected","escape","tab","space","spaceSelectsMatch","up","selected","setActiveLi","scrollHeight","down","delete","lis","querySelectorAll","classList","selectClass","liClientRect","getBoundingClientRect","menuClientRect","bottom","scrollDistance","getFullHeight","elem","includeMargin","currentStyle","getComputedStyle","marginTop","marginBottom","TributeMenuEvents","menuEvents","menuClickEvent","menuContainerScrollEvent","windowResizeEvent","positionMenuAtCaret","getDocument","menuContainer","TributeRange","iframe","contentWindow","scrollTo","coordinates","positionMenu","cssText","isContentEditable","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","left","right","scrollIntoView","menuDimensions","menuIsOffScreen","isMenuOffScreen","menuIsOffScreenHorizontally","innerWidth","menuIsOffScreenVertically","innerHeight","menuContainerIsBody","selectElement","targetElement","path","childNodes","nextSibling","previousSibling","sel","getWindowSelection","createRange","setStart","setEnd","collapse","removeAllRanges","addRange","replaceTriggerText","requireLeadingSpace","originalEvent","replaceEvent","replaceTextSuffix","endPos","pasteHtml","myField","textSuffix","startPos","selectionStart","selectionEnd","html","anchorNode","deleteContents","lastNode","frag","createDocumentFragment","firstChild","insertNode","cloneRange","setStartAfter","getSelection","getNodePositionInParent","getContentEditableSelectedPath","ctx","ce","contentEditable","getRangeAt","startOffset","getTextPrecedingCurrentSelection","selectedElem","workingNodeContent","textContent","selectStartOffset","textComponent","getLastWordInText","wordsArray","menuAlreadyActive","isAutocomplete","selectionInfo","effectiveRange","lastWordOfEffectiveRange","mentionSelectedElement","mostRecentTriggerCharPos","config","idx","lastIndexWithLeadingSpace","currentTriggerSnippet","firstSnippetChar","leadingSpace","reversedStr","cidx","firstChar","triggerIdx","windowWidth","windowHeight","documentElement","windowLeft","pageXOffset","scrollLeft","clientLeft","windowTop","pageYOffset","clientTop","menuTop","menuRight","menuBottom","menuLeft","ceil","getMenuDimensions","dimensions","flipped","isFirefox","mozInnerScreenX","whiteSpace","wordWrap","visibility","overflowY","span","rect","borderTopWidth","offsetLeft","borderLeftWidth","parentHeight","scrollStillAvailable","selectedNodePosition","clientRect","elemTop","elemBottom","maxY","targetY","TributeSearch","simpleFilter","pattern","opts","pre","post","compareString","caseSensitive","skip","rendered","score","patternCache","traverse","cache","stringIndex","patternIndex","calculateScore","best","temp","indices","prev","extract","original","Tribute","containerClass","itemClass","selectTemplate","menuItemTemplate","lookup","fillAttr","noMatchTemplate","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","_isActive","noMatchEvent","matchItem","attach","jQuery","NodeList","HTMLCollection","_attach","hasAttribute","ensureEditable","setAttribute","inputTypes","createMenu","wrapper","ul","className","currentMentionTextSnapshot","tributeMenu","processValues","items","fragment","_findLiTarget","movementY","showMenuForCollection","collectionIndex","activeElement","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","selectNodeContents","createTextRange","textRange","moveToElementText","select","textNode","createTextNode","textarea","scrollPos","caretPos","front","back","replaceText","_append","newValues","append","appendCurrent","detach","_detach","removeAttribute","fillColor","_b","$event","$attrs","__esModule","__g","core","inspectSource","version","__e","propertyIsEnumerable","random","NaN","$isLabel","$groupLabel","isOpen","preferredOpenDirection","optimizedHeight","maxHeight","internalSearch","multiple","trackBy","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","updateSearch","isOptionDisabled","$isDisabled","selectGroup","disabled","pointerDirty","deactivate","removeElement","wholeGroupSelected","every","wholeGroupDisabled","removeLastElement","activate","adjustPosition","pointer","blur","toggle","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","pointerBackward","pointerSet","_i","Arguments","mixins","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limitText","loading","showNoOptions","showNoResults","tabindex","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","padding","contentStyle","display","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","callee","global","ignoreCase","multiline","unicode","sticky","promise","open","close","mode","copyright","setImmediate","clearImmediate","MessageChannel","Dispatch","nextTick","port2","port1","onmessage","postMessage","importScripts","onreadystatechange","versions","v8","PromiseRejectionEvent","_n","fail","domain","_h","exit","onunhandledrejection","onrejectionhandled","_d","_w","catch","race","finally","BREAK","RETURN","entries","MutationObserver","WebKitMutationObserver","standalone","observe","characterData","getPrototypeOf","setPrototypeOf","check","getIteratorMethod","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","esModule","currentTarget","keypress","option","autocomplete","loadState","app","atob","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","env","globalThis","deserialize","serialized","as","unpair","has","Map","Set","BigInt","deserializer","EMPTY","typeOf","asString","shouldSkip","TYPE","serialize","json","lossy","strict","pair","entry","toISOString","serializer","structuredClone","any","convertElement","castFactory","parameters","testFunction","looksLikeAnElement","ABSOLUTE_URL_REGEX","WINDOWS_PATH_REGEX","checkAsRecord","nodeAsRecord","propsFactory","looksLikeANode","empty","defaultProtocols","defaultRel","emptyOptions","rehypeExternalLinks","settings","protocols","testOrVisitor","visitorOrReverse","maybeReverse","factory","grandparents","nodeAsParent","href","url","isAbsoluteUrl","contentRaw","createIfNeeded","relRaw","rel","contentProperties","Schema","normal","definitions","normalize","Info","attribute","boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated","mustUseProperty","defined","powers","increment","DefinedInfo","mask","super","mark","own","definition","transform","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","caseSensitiveTransform","caseInsensitiveTransform","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","async","autoCapitalize","autoComplete","autoPlay","capture","charSet","cite","cols","colSpan","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dirName","download","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","lang","language","loop","low","manifest","maxLength","media","minLength","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","ping","playsInline","poster","preload","readOnly","referrerPolicy","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","shape","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","tabIndex","translate","typeMustMatch","useMap","wrap","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","charOff","classId","codeBase","codeType","compact","declare","face","frame","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","dur","divisor","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","textLength","transformBehavior","to","u1","u2","viewBox","viewTarget","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","valid","dash","cap","kebab","$0","camelcase","hastToReact","webNamespaces","mathml","toH","react","_isVue","vue","vd","vdom","head","schema","hyperscript","parentSchema","nodes","addAttribute","namespace","Type","rest","dashes","subprop","padRight","padLeft","$1","error_","parseStyle","tableElements","rehypeReact","thing","component","passNode","Compiler","Fragment","remarkBreaks","includeImageAlt","chunkStart","syntaxExtension","extension","hook","constructs","before","factorySpace","effects","POSITIVE_INFINITY","consume","tokenize","contentStart","attempt","contentInitial","lineStart","previous","token","contentType","childFlow","childToken","lineStartOffset","continued","containerState","continuation","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","point","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","lazy","containerContinue","flow","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","seen","nok","disable","null","blankLine","partial","subtokenize","jumps","lineIndex","otherIndex","otherEvent","subevents","more","_isInFirstContentOfListItem","subcontent","_container","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","_gfmTasklistFirstContentOfListItem","contentEnd","continuationConstruct","contentContinue","tail","sliceSerialize","initial","flowInitial","afterConstruct","resolver","resolveAll","createResolver","initializeFactory","field","notText","atBreak","resolveAllLineSuffixes","extraResolver","chunks","tabs","bufferIndex","chunk","_index","_bufferIndex","called","createTokenizer","initialize","columnStart","resolveAllConstructs","consumed","accountForPotentialSkip","fields","constructFactory","construct","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","chunkIndex","go","main","expectedCode","startBufferIndex","endBufferIndex","sliceChunks","restore","onreturn","returnState","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","def","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","resolveTo","thematicBreak","marker","sequence","initialSize","atMarker","inside","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","blockQuote","after","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","labelAfter","titleConstruct","codeIndented","afterStartPrefix","afterPrefix","indentedContent","headingAtx","fenceOpenInside","headingBreak","setextUnderline","paragraph","closingSequence","closingSequenceEnd","heading","htmlBlockNames","htmlRawNames","htmlFlow","startTag","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","codeFenced","closingFenceConstruct","sizeOpen","nonLazyLine","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","meta","decodeNamedCharacterReference","characterReference","numeric","characterEscape","lineEnding","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","group","insideSpan","destinationAfter","between","afterLabel","classifyCharacter","attention","attentionMarkers","_open","_close","openingSequence","use","nextEvents","movePoint","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","commentStart","commentStartDash","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","gap","tailExitIndex","headEnterIndex","decodeNumericCharacterReference","characterEscapeOrReference","decode","$2","fromMarkdown","transforms","canContainEols","autolink","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeText","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreakEscape","hardBreak","hardBreakTrailing","htmlFlowData","htmlText","htmlTextData","image","listItem","spread","_spread","listItemValue","getData","setData","listOrdered","listUnordered","reference","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","closer","atxHeadingSequence","depth","onexitdata","characterEscapeValue","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","resume","codeFencedFence","onexithardbreak","referenceType","labelText","ancestor","decodeString","setextHeadingLineSequence","setextHeadingText","configure","mdastExtensions","tokenStack","listStack","prepareList","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","and","errorHandler","onExitError","ordered","compiler","postprocess","extensions","combineExtensions","atCarriageReturn","endPosition","preprocess","combined","Parser","normalizeUri","encodeURIComponent","footnoteReference","safeId","footnoteOrder","counter","footnoteCounts","reuseCounter","clobberPrefix","dataFootnoteRef","patch","sup","applyData","revert","subtype","suffix","contents","listItemLoose","pointStart","pointEnd","trimLines","trimLine","codePointAt","blockquote","break","footnote","footnoteById","no","dangerous","imageReference","inlineCode","linkReference","loose","listLoose","root","table","firstRow","shift","tableContent","tableCell","tableRow","siblings","cellIndex","cells","cell","alignValue","toml","ignore","yaml","footnoteDefinition","clean","hName","hChildren","hProperties","passThrough","unknownHandler","defaultUnknownHandler","toHast","allowDangerousHtml","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","footnoteBackLabel","augment","createState","foot","listItems","referenceIndex","backReferences","backReference","dataFootnoteBackref","tailTail","dataFootnotes","footer","destination","file","run","bridge","mutate","stringLength","countAnsiEscapeCodes","onlyFirst","ansiRegex","stripAnsi","astralRange","teluguConsonants","teluguConsonantsRare","telugu","astral","combo","fitz","nonAstral","regional","surrogatePair","optModifier","optVar","seq","symbol","charRegex","bail","VFileMessage","place","parts","fatal","ruleId","expected","note","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","unmatchedSlash","startPart","startDot","preDotState","segments","joined","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","proc","isUrl","fileUrlOrPath","VFile","messages","history","cwd","stored","URL","protocol","hostname","pathname","third","decodeURIComponent","getPathFromURLPosix","urlToPath","assertNonEmpty","dirname","basename","assertPart","extname","stem","part","transformers","fns","pipeline","middlewareIndex","middleware","fnExpectsCallback","middelware","trough","attachers","frozen","freezeIndex","processor","assertUnfrozen","attacher","transformer","addPlugin","addList","addPreset","plugin","plugins","vfile","assertParser","newable","assertCompiler","assertNode","compile","executor","runSync","complete","assertDone","processSync","asyncName","looksLikeAVFile","stringifyPosition"],"sourceRoot":""} \ No newline at end of file diff --git a/js/activity-292.js b/js/activity-292.js new file mode 100644 index 000000000..573dcc2a3 --- /dev/null +++ b/js/activity-292.js @@ -0,0 +1,3 @@ +/*! For license information please see activity-292.js.LICENSE.txt */ +(self.webpackChunkactivity=self.webpackChunkactivity||[]).push([[292],{9944:(t,e,n)=>{"use strict";var r=n(79753),i=n(27856),a=n(95573);function o(){return document.documentElement.dataset.locale||"en"}function s(){return o().replace(/_/g,"-")}function l(){return document.documentElement.lang||"en"}function c(t){var e,n,r,i;return{translations:null!==(n=null===(e=window._oc_l10n_registry_translations)||void 0===e?void 0:e[t])&&void 0!==n?n:{},pluralFunction:null!==(i=null===(r=window._oc_l10n_registry_plural_functions)||void 0===r?void 0:r[t])&&void 0!==i?i:t=>t}}function A(t,e,n,r,o){const s=Object.assign({},{escape:!0,sanitize:!0},o||{}),l=t=>t,A=s.sanitize?i.sanitize:l,d=s.escape?a:l;let u=c(t).translations[e]||e;return u=Array.isArray(u)?u[0]:u,A("object"==typeof n||void 0!==r?((t,e,n)=>t.replace(/%n/g,""+n).replace(/{([^{}]*)}/g,((t,n)=>{if(void 0===e||!(n in e))return A(t);const r=e[n];return A("string"==typeof r||"number"==typeof r?d(r):t)})))(u,n,r):u)}function d(t,e){var n,r,i,a;n=t,r=e,i=u,window._oc_l10n_registry_translations=Object.assign(window._oc_l10n_registry_translations||{},{[n]:Object.assign((null===(a=window._oc_l10n_registry_translations)||void 0===a?void 0:a[n])||{},r)}),window._oc_l10n_registry_plural_functions=Object.assign(window._oc_l10n_registry_plural_functions||{},{[n]:i})}function u(t){let e=l();switch("pt-BR"===e&&(e="xbr"),e.length>3&&(e=e.substring(0,e.lastIndexOf("-"))),e){case"az":case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":default:return 0;case"af":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"oc":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return 1===t?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"hy":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return 0===t||1===t?0:1;case"be":case"bs":case"hr":case"ru":case"sh":case"sr":case"uk":return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2;case"cs":case"sk":return 1===t?0:t>=2&&t<=4?1:2;case"ga":return 1===t?0:2===t?1:2;case"lt":return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2;case"sl":return t%100==1?0:t%100==2?1:t%100==3||t%100==4?2:3;case"mk":return t%10==1?0:1;case"mt":return 1===t?0:0===t||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3;case"lv":return 0===t?0:t%10==1&&t%100!=11?1:2;case"pl":return 1===t?0:t%10>=2&&t%10<=4&&(t%100<12||t%100>14)?1:2;case"cy":return 1===t?0:2===t?1:8===t||11===t?2:3;case"ro":return 1===t?0:0===t||t%100>0&&t%100<20?1:2;case"ar":return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11&&t%100<=99?4:5}}e.getCanonicalLocale=s,e.getDayNames=function(){return void 0===window.dayNames?(console.warn("No dayNames found"),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]):window.dayNames},e.getDayNamesMin=function(){return void 0===window.dayNamesMin?(console.warn("No dayNamesMin found"),["Su","Mo","Tu","We","Th","Fr","Sa"]):window.dayNamesMin},e.getDayNamesShort=function(){return void 0===window.dayNamesShort?(console.warn("No dayNamesShort found"),["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."]):window.dayNamesShort},e.getFirstDay=function(){return void 0===window.firstDay?(console.warn("No firstDay found"),1):window.firstDay},e.getLanguage=l,e.getLocale=o,e.getMonthNames=function(){return void 0===window.monthNames?(console.warn("No monthNames found"),["January","February","March","April","May","June","July","August","September","October","November","December"]):window.monthNames},e.getMonthNamesShort=function(){return void 0===window.monthNamesShort?(console.warn("No monthNamesShort found"),["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."]):window.monthNamesShort},e.getPlural=u,e.isRTL=function(t){const e=t||l();return!!(t||s()).startsWith("uz-AF")||["ae","ar","arc","arz","bcc","bqi","ckb","dv","fa","glk","ha","he","khw","ks","ku","mzn","nqo","pnb","ps","sd","ug","ur","uzs","yi"].includes(e)},e.loadTranslations=function(t,e){if(n=t,void 0!==(null===(i=window._oc_l10n_registry_translations)||void 0===i?void 0:i[n])&&void 0!==(null===(a=window._oc_l10n_registry_plural_functions)||void 0===a?void 0:a[n])||"en"===o())return Promise.resolve().then(e);var n,i,a;const s=r.generateFilePath(t,"l10n",o()+".json");return new Promise(((t,e)=>{const n=new XMLHttpRequest;n.open("GET",s,!0),n.onerror=()=>{e(new Error(n.statusText||"Network error"))},n.onload=()=>{if(n.status>=200&&n.status<300){try{const e=JSON.parse(n.responseText);"object"==typeof e.translations&&t(e)}catch(t){}e(new Error("Invalid content of translation bundle"))}else e(new Error(n.statusText))},n.send()})).then((e=>(d(t,e.translations),e))).then(e)},e.register=d,e.translate=A,e.translatePlural=function(t,e,n,r,i,a){const o="_"+e+"_::_"+n+"_",s=c(t),l=s.translations[o];if(void 0!==l){const e=l;if(Array.isArray(e))return A(t,e[s.pluralFunction(r)],i,r,a)}return A(t,1===r?e:n,i,r,a)},e.unregister=function(t){return e=t,null===(n=window._oc_l10n_registry_translations)||void 0===n||delete n[e],void(null===(r=window._oc_l10n_registry_plural_functions)||void 0===r||delete r[e]);var e,n,r}},29960:function(t){"undefined"!=typeof self&&self,t.exports=(()=>{var t={646:t=>{t.exports=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e{t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},860:t=>{t.exports=function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}},206:t=>{t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(t,e,n)=>{var r=n(646),i=n(860),a=n(206);t.exports=function(t){return r(t)||i(t)||a()}},8:t=>{function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=e=function(t){return typeof t}:t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(n)}t.exports=e}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return(()=>{"use strict";n.r(r),n.d(r,{VueSelect:()=>f,default:()=>v,mixins:()=>g});var t=n(319),e=n.n(t),i=n(8),a=n.n(i),o=n(713),s=n.n(o);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(t){var e=this;this.autoscroll&&t&&this.$nextTick((function(){return e.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var t,e=(null===(t=this.$refs.dropdownMenu)||void 0===t?void 0:t.children[this.typeAheadPointer])||!1;if(e){var n=this.getDropdownViewport(),r=e.getBoundingClientRect(),i=r.top,a=r.bottom,o=r.height;if(in.bottom)return this.$refs.dropdownMenu.scrollTop=e.offsetTop-(n.height-o)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){for(var t=0;t=0;t--)if(this.selectable(this.filteredOptions[t])){this.typeAheadPointer=t;break}},typeAheadDown:function(){for(var t=this.typeAheadPointer+1;t0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==t?!this.mutableLoading:t}}};function d(t,e,n,r,i,a,o,s){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),o?(l=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__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var A=c.render;c.render=function(t,e){return l.call(e),A(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}const u={Deselect:d({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[e("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])}),[],!1,null,null,null).exports,OpenIndicator:d({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[e("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])}),[],!1,null,null,null).exports},p={inserted:function(t,e,n){var r=n.context;if(r.appendToBody){document.body.appendChild(t);var i=r.$refs.toggle.getBoundingClientRect(),a=i.height,o=i.top,s=i.left,l=i.width,c=window.scrollX||window.pageXOffset,A=window.scrollY||window.pageYOffset;t.unbindPosition=r.calculatePosition(t,r,{width:l+"px",left:c+s+"px",top:A+o+a+"px"})}},unbind:function(t,e,n){n.context.appendToBody&&(t.unbindPosition&&"function"==typeof t.unbindPosition&&t.unbindPosition(),t.parentNode&&t.parentNode.removeChild(t))}};var h=0;function T(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 m(t){for(var e=1;e-1}},filter:{type:Function,default:function(t,e){var n=this;return t.filter((function(t){var r=n.getOptionLabel(t);return"number"==typeof r&&(r=r.toString()),n.filterBy(t,r,e)}))}},createOption:{type:Function,default:function(t){return"object"===a()(this.optionList[0])?s()({},this.label,t):t}},resetOnOptionsChange:{default:!1,validator:function(t){return["function","boolean"].includes(a()(t))}},clearSearchOnBlur:{type:Function,default:function(t){var e=t.clearSearchOnSelect,n=t.multiple;return e&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(t,e){return t}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(t,e,n){var r=n.width,i=n.top,a=n.left;t.style.top=i,t.style.left=a,t.style.width=r}},dropdownShouldOpen:{type:Function,default:function(t){var e=t.noDrop,n=t.open,r=t.mutableLoading;return!e&&n&&!r}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return++h}}},data:function(){return{search:"",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var t=this.value;return this.isTrackingValues&&(t=this.$data._value),null!=t&&""!==t?[].concat(t):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var t=this,e={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:m({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":"vs".concat(this.uid,"__combobox"),"aria-controls":"vs".concat(this.uid,"__listbox"),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return t.isComposing=!0},compositionend:function(){return t.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(e){return t.search=e.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:e,listFooter:e,header:m({},e,{deselect:this.deselect}),footer:m({},e,{deselect:this.deselect})}},childComponents:function(){return m({},u,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var t=this,e=function(e){return null!==t.limit?e.slice(0,t.limit):e},n=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return e(n);var r=this.search.length?this.filter(n,this.search,this):n;if(this.taggable&&this.search.length){var i=this.createOption(this.search);this.optionExists(i)||r.unshift(i)}return e(r)},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(t,e){var n=this;!this.taggable&&("function"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(t,e,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(t){this.isTrackingValues&&this.setInternalValueFromOptions(t)}},multiple:function(){this.clearSelection()},open:function(t){this.$emit(t?"open":"close")},search:function(t){t.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(t){var e=this;Array.isArray(t)?this.$data._value=t.map((function(t){return e.findOptionFromReducedValue(t)})):this.$data._value=this.findOptionFromReducedValue(t)},select:function(t){this.$emit("option:selecting",t),this.isOptionSelected(t)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(t):(this.taggable&&!this.optionExists(t)&&this.$emit("option:created",t),this.multiple&&(t=this.selectedValue.concat(t)),this.updateValue(t),this.$emit("option:selected",t)),this.onAfterSelect(t)},deselect:function(t){var e=this;this.$emit("option:deselecting",t),this.updateValue(this.selectedValue.filter((function(n){return!e.optionComparator(n,t)}))),this.$emit("option:deselected",t)},keyboardDeselect:function(t,e){var n,r;this.deselect(t);var i=null===(n=this.$refs.deselectButtons)||void 0===n?void 0:n[e+1],a=null===(r=this.$refs.deselectButtons)||void 0===r?void 0:r[e-1],o=null!=i?i:a;o?o.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(t){var e=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick((function(){return e.$refs.search.focus()}))},updateValue:function(t){var e=this;void 0===this.value&&(this.$data._value=t),null!==t&&(t=Array.isArray(t)?t.map((function(t){return e.reduce(t)})):this.reduce(t)),this.$emit("input",t)},toggleDropdown:function(t){var n=t.target!==this.searchEl;n&&t.preventDefault();var r=[].concat(e()(this.$refs.deselectButtons||[]),e()([this.$refs.clearButton]||0));void 0===this.searchEl||r.filter(Boolean).some((function(e){return e.contains(t.target)||e===t.target}))?t.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(t){var e=this;return this.selectedValue.some((function(n){return e.optionComparator(n,t)}))},isOptionDeselectable:function(t){return this.isOptionSelected(t)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(t){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&t===this.typeAheadPointer},optionComparator:function(t,e){return this.getOptionKey(t)===this.getOptionKey(e)},findOptionFromReducedValue:function(t){var n=this,r=[].concat(e()(this.options),e()(this.pushedTags)).filter((function(e){return JSON.stringify(n.reduce(e))===JSON.stringify(t)}));return 1===r.length?r[0]:r.find((function(t){return n.optionComparator(t,n.$data._value)}))||t},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var t=null;this.multiple&&(t=e()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(t)}},optionExists:function(t){var e=this;return this.optionList.some((function(n){return e.optionComparator(n,t)}))},optionAriaSelected:function(t){return this.selectable(t)?String(this.isOptionSelected(t)):null},normalizeOptionForSlot:function(t){return"object"===a()(t)?t:s()({},this.label,t)},pushTag:function(t){this.pushedTags.push(t)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var t=this.clearSearchOnSelect,e=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:t,multiple:e})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(t,e){this.isKeyboardNavigation=!1,this.selectable(t)&&(this.typeAheadPointer=e)},onSearchKeyDown:function(t){var e=this,n=function(t){if(t.preventDefault(),e.open)return!e.isComposing&&e.typeAheadSelect();e.open=!0},r={8:function(t){return e.maybeDeleteValue()},9:function(t){return e.onTab()},27:function(t){return e.onEscape()},38:function(t){if(t.preventDefault(),e.isKeyboardNavigation=!0,e.open)return e.typeAheadUp();e.open=!0},40:function(t){if(t.preventDefault(),e.isKeyboardNavigation=!0,e.open)return e.typeAheadDown();e.open=!0}};this.selectOnKeyCodes.forEach((function(t){return r[t]=n}));var i=this.mapKeydown(r,this);if("function"==typeof i[t.keyCode])return i[t.keyCode](t)},onSearchKeyPress:function(t){this.open||32!==t.keyCode||(t.preventDefault(),this.open=!0)}}},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-select",class:t.stateClasses,attrs:{dir:t.dir}},[t._t("header",null,null,t.scope.header),t._v(" "),n("div",{ref:"toggle",staticClass:"vs__dropdown-toggle",attrs:{id:"vs"+t.uid+"__combobox",role:"combobox","aria-expanded":t.dropdownOpen.toString(),"aria-owns":"vs"+t.uid+"__listbox","aria-label":"Search for option"},on:{mousedown:function(e){return t.toggleDropdown(e)}}},[n("div",{ref:"selectedOptions",staticClass:"vs__selected-options"},[t._l(t.selectedValue,(function(e,r){return t._t("selected-option-container",[n("span",{key:t.getOptionKey(e),staticClass:"vs__selected"},[t._t("selected-option",[t._v("\n "+t._s(t.getOptionLabel(e))+"\n ")],null,t.normalizeOptionForSlot(e)),t._v(" "),t.multiple?n("button",{ref:"deselectButtons",refInFor:!0,staticClass:"vs__deselect",attrs:{disabled:t.disabled,type:"button",title:"Deselect "+t.getOptionLabel(e),"aria-label":"Deselect "+t.getOptionLabel(e)},on:{mousedown:function(n){return n.stopPropagation(),t.deselect(e)},keydown:function(n){return!n.type.indexOf("key")&&t._k(n.keyCode,"enter",13,n.key,"Enter")?null:t.keyboardDeselect(e,r)}}},[n(t.childComponents.Deselect,{tag:"component"})],1):t._e()],2)],{option:t.normalizeOptionForSlot(e),deselect:t.deselect,multiple:t.multiple,disabled:t.disabled})})),t._v(" "),t._t("search",[n("input",t._g(t._b({staticClass:"vs__search"},"input",t.scope.search.attributes,!1),t.scope.search.events))],null,t.scope.search)],2),t._v(" "),n("div",{ref:"actions",staticClass:"vs__actions"},[n("button",{directives:[{name:"show",rawName:"v-show",value:t.showClearButton,expression:"showClearButton"}],ref:"clearButton",staticClass:"vs__clear",attrs:{disabled:t.disabled,type:"button",title:"Clear Selected","aria-label":"Clear Selected"},on:{click:t.clearSelection}},[n(t.childComponents.Deselect,{tag:"component"})],1),t._v(" "),t._t("open-indicator",[t.noDrop?t._e():n(t.childComponents.OpenIndicator,t._b({tag:"component"},"component",t.scope.openIndicator.attributes,!1))],null,t.scope.openIndicator),t._v(" "),t._t("spinner",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.mutableLoading,expression:"mutableLoading"}],staticClass:"vs__spinner"},[t._v("Loading...")])],null,t.scope.spinner)],2)]),t._v(" "),n("transition",{attrs:{name:t.transition}},[t.dropdownOpen?n("ul",{directives:[{name:"append-to-body",rawName:"v-append-to-body"}],key:"vs"+t.uid+"__listbox",ref:"dropdownMenu",staticClass:"vs__dropdown-menu",attrs:{id:"vs"+t.uid+"__listbox",role:"listbox","aria-multiselectable":t.multiple,tabindex:"-1"},on:{mousedown:function(e){return e.preventDefault(),t.onMousedown(e)},mouseup:t.onMouseUp}},[t._t("list-header",null,null,t.scope.listHeader),t._v(" "),t._l(t.filteredOptions,(function(e,r){return n("li",{key:t.getOptionKey(e),staticClass:"vs__dropdown-option",class:{"vs__dropdown-option--deselect":t.isOptionDeselectable(e)&&r===t.typeAheadPointer,"vs__dropdown-option--selected":t.isOptionSelected(e),"vs__dropdown-option--highlight":r===t.typeAheadPointer,"vs__dropdown-option--kb-focus":t.hasKeyboardFocusBorder(r),"vs__dropdown-option--disabled":!t.selectable(e)},attrs:{id:"vs"+t.uid+"__option-"+r,role:"option","aria-selected":t.optionAriaSelected(e)},on:{mousemove:function(n){return t.onMouseMove(e,r)},click:function(n){n.preventDefault(),n.stopPropagation(),t.selectable(e)&&t.select(e)}}},[t._t("option",[t._v("\n "+t._s(t.getOptionLabel(e))+"\n ")],null,t.normalizeOptionForSlot(e))],2)})),t._v(" "),0===t.filteredOptions.length?n("li",{staticClass:"vs__no-options"},[t._t("no-options",[t._v("\n Sorry, no matching options.\n ")],null,t.scope.noOptions)],2):t._e(),t._v(" "),t._t("list-footer",null,null,t.scope.listFooter)],2):n("ul",{staticStyle:{display:"none",visibility:"hidden"},attrs:{id:"vs"+t.uid+"__listbox",role:"listbox"}})]),t._v(" "),t._t("footer",null,null,t.scope.footer)],2)}),[],!1,null,null,null).exports,g={ajax:A,pointer:c,pointerScroll:l},v=f})(),r})()},15961:(t,e,n)=>{"use strict";n.d(e,{$U:()=>c,FK:()=>h,Iw:()=>s,Jc:()=>T,O3:()=>l,P2:()=>d,QG:()=>m,SL:()=>p,fg:()=>A,h3:()=>f,rw:()=>u});var r={2463:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".emoji-mart,\n.emoji-mart * {\n box-sizing: border-box;\n line-height: 1.15;\n}\n\n.emoji-mart {\n font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;\n font-size: 16px;\n /* display: inline-block; */\n display: flex;\n flex-direction: column;\n height: 420px;\n color: #222427;\n border: 1px solid #d9d9d9;\n border-radius: 5px;\n background: #fff;\n}\n\n.emoji-mart-emoji {\n padding: 6px;\n position: relative;\n display: inline-block;\n font-size: 0;\n border: none;\n background: none;\n box-shadow: none;\n}\n\n.emoji-mart-emoji span {\n display: inline-block;\n}\n\n.emoji-mart-preview-emoji .emoji-mart-emoji span {\n width: 38px;\n height: 38px;\n font-size: 32px;\n}\n\n.emoji-type-native {\n font-family: 'Segoe UI Emoji', 'Segoe UI Symbol', 'Segoe UI',\n 'Apple Color Emoji', 'Twemoji Mozilla', 'Noto Color Emoji', 'EmojiOne Color',\n 'Android Emoji';\n word-break: keep-all;\n}\n\n.emoji-type-image {\n /* Emoji sheet has 56 columns, see also utils/emoji-data.js, SHEET_COLUMNS variable */\n /* Here we use (56+1) * 100% to avoid visible edges of nearby icons when scaling for different\n * screen sizes */\n background-size: 6100%;\n}\n.emoji-type-image.emoji-set-apple {\n background-image: url('https://unpkg.com/emoji-datasource-apple@14.0.0/img/apple/sheets-256/64.png');\n}\n.emoji-type-image.emoji-set-facebook {\n background-image: url('https://unpkg.com/emoji-datasource-facebook@14.0.0/img/facebook/sheets-256/64.png');\n}\n.emoji-type-image.emoji-set-google {\n background-image: url('https://unpkg.com/emoji-datasource-google@14.0.0/img/google/sheets-256/64.png');\n}\n.emoji-type-image.emoji-set-twitter {\n background-image: url('https://unpkg.com/emoji-datasource-twitter@14.0.0/img/twitter/sheets-256/64.png');\n}\n\n.emoji-mart-bar {\n border: 0 solid #d9d9d9;\n}\n.emoji-mart-bar:first-child {\n border-bottom-width: 1px;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n}\n.emoji-mart-bar:last-child {\n border-top-width: 1px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n}\n\n.emoji-mart-scroll {\n position: relative;\n overflow-y: scroll;\n flex: 1;\n padding: 0 6px 6px 6px;\n z-index: 0; /* Fix for rendering sticky positioned category labels on Chrome */\n will-change: transform; /* avoids \"repaints on scroll\" in mobile Chrome */\n -webkit-overflow-scrolling: touch;\n}\n\n.emoji-mart-anchors {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 0 6px;\n color: #858585;\n line-height: 0;\n}\n\n.emoji-mart-anchor {\n position: relative;\n display: block;\n flex: 1 1 auto;\n text-align: center;\n padding: 12px 4px;\n overflow: hidden;\n transition: color 0.1s ease-out;\n border: none;\n background: none;\n box-shadow: none;\n}\n.emoji-mart-anchor:hover,\n.emoji-mart-anchor-selected {\n color: #464646;\n}\n\n.emoji-mart-anchor-selected .emoji-mart-anchor-bar {\n bottom: 0;\n}\n\n.emoji-mart-anchor-bar {\n position: absolute;\n bottom: -3px;\n left: 0;\n width: 100%;\n height: 3px;\n background-color: #464646;\n}\n\n.emoji-mart-anchors i {\n display: inline-block;\n width: 100%;\n max-width: 22px;\n}\n\n.emoji-mart-anchors svg {\n fill: currentColor;\n max-height: 18px;\n}\n\n.emoji-mart .scroller {\n height: 250px;\n position: relative;\n flex: 1;\n padding: 0 6px 6px 6px;\n z-index: 0; /* Fix for rendering sticky positioned category labels on Chrome */\n will-change: transform; /* avoids \"repaints on scroll\" in mobile Chrome */\n -webkit-overflow-scrolling: touch;\n}\n\n.emoji-mart-search {\n margin-top: 6px;\n padding: 0 6px;\n}\n.emoji-mart-search input {\n font-size: 16px;\n display: block;\n width: 100%;\n padding: 0.2em 0.6em;\n border-radius: 25px;\n border: 1px solid #d9d9d9;\n outline: 0;\n}\n.emoji-mart-search-results {\n height: 250px;\n overflow-y: scroll;\n}\n\n.emoji-mart-category {\n position: relative;\n}\n\n.emoji-mart-category .emoji-mart-emoji span {\n z-index: 1;\n position: relative;\n text-align: center;\n cursor: default;\n}\n\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n z-index: 0;\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #f4f4f4;\n border-radius: 100%;\n opacity: 0;\n}\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n opacity: 1;\n}\n\n.emoji-mart-category-label {\n position: sticky;\n top: 0;\n}\n.emoji-mart-static .emoji-mart-category-label {\n z-index: 2;\n position: relative;\n /* position: sticky; */\n /* position: -webkit-sticky; */\n}\n\n.emoji-mart-category-label h3 {\n display: block;\n font-size: 16px;\n width: 100%;\n font-weight: 500;\n padding: 5px 6px;\n background-color: #fff;\n background-color: rgba(255, 255, 255, 0.95);\n}\n\n.emoji-mart-emoji {\n position: relative;\n display: inline-block;\n font-size: 0;\n}\n\n.emoji-mart-no-results {\n font-size: 14px;\n text-align: center;\n padding-top: 70px;\n color: #858585;\n}\n.emoji-mart-no-results .emoji-mart-category-label {\n display: none;\n}\n.emoji-mart-no-results .emoji-mart-no-results-label {\n margin-top: 0.2em;\n}\n.emoji-mart-no-results .emoji-mart-emoji:hover:before {\n content: none;\n}\n\n.emoji-mart-preview {\n position: relative;\n height: 70px;\n}\n\n.emoji-mart-preview-emoji,\n.emoji-mart-preview-data,\n.emoji-mart-preview-skins {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.emoji-mart-preview-emoji {\n left: 12px;\n}\n\n.emoji-mart-preview-data {\n left: 68px;\n right: 12px;\n word-break: break-all;\n}\n\n.emoji-mart-preview-skins {\n right: 30px;\n text-align: right;\n}\n\n.emoji-mart-preview-name {\n font-size: 14px;\n}\n\n.emoji-mart-preview-shortname {\n font-size: 12px;\n color: #888;\n}\n.emoji-mart-preview-shortname + .emoji-mart-preview-shortname,\n.emoji-mart-preview-shortname + .emoji-mart-preview-emoticon,\n.emoji-mart-preview-emoticon + .emoji-mart-preview-emoticon {\n margin-left: 0.5em;\n}\n\n.emoji-mart-preview-emoticon {\n font-size: 11px;\n color: #bbb;\n}\n\n.emoji-mart-title span {\n display: inline-block;\n vertical-align: middle;\n}\n\n.emoji-mart-title .emoji-mart-emoji {\n padding: 0;\n}\n\n.emoji-mart-title-label {\n color: #999a9c;\n font-size: 21px;\n font-weight: 300;\n}\n\n.emoji-mart-skin-swatches {\n font-size: 0;\n padding: 2px 0;\n border: 1px solid #d9d9d9;\n border-radius: 12px;\n background-color: #fff;\n}\n\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch {\n width: 16px;\n padding: 0 2px;\n}\n\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch-selected:after {\n opacity: 0.75;\n}\n\n.emoji-mart-skin-swatch {\n display: inline-block;\n width: 0;\n vertical-align: middle;\n transition-property: width, padding;\n transition-duration: 0.125s;\n transition-timing-function: ease-out;\n}\n\n.emoji-mart-skin-swatch:nth-child(1) {\n transition-delay: 0s;\n}\n.emoji-mart-skin-swatch:nth-child(2) {\n transition-delay: 0.03s;\n}\n.emoji-mart-skin-swatch:nth-child(3) {\n transition-delay: 0.06s;\n}\n.emoji-mart-skin-swatch:nth-child(4) {\n transition-delay: 0.09s;\n}\n.emoji-mart-skin-swatch:nth-child(5) {\n transition-delay: 0.12s;\n}\n.emoji-mart-skin-swatch:nth-child(6) {\n transition-delay: 0.15s;\n}\n\n.emoji-mart-skin-swatch-selected {\n position: relative;\n width: 16px;\n padding: 0 2px;\n}\n.emoji-mart-skin-swatch-selected:after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 4px;\n height: 4px;\n margin: -2px 0 0 -2px;\n background-color: #fff;\n border-radius: 100%;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s ease-out;\n}\n\n.emoji-mart-skin {\n display: inline-block;\n width: 100%;\n padding-top: 100%;\n max-width: 12px;\n border-radius: 100%;\n}\n\n.emoji-mart-skin-tone-1 {\n background-color: #ffc93a;\n}\n.emoji-mart-skin-tone-2 {\n background-color: #fadcbc;\n}\n.emoji-mart-skin-tone-3 {\n background-color: #e0bb95;\n}\n.emoji-mart-skin-tone-4 {\n background-color: #bf8f68;\n}\n.emoji-mart-skin-tone-5 {\n background-color: #9b643d;\n}\n.emoji-mart-skin-tone-6 {\n background-color: #594539;\n}\n\n/* vue-virtual-scroller/dist/vue-virtual-scroller.css */\n.emoji-mart .vue-recycle-scroller {\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.direction-vertical:not(.page-mode) {\n overflow-y: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal:not(.page-mode) {\n overflow-x: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal {\n display: flex;\n}\n.emoji-mart .vue-recycle-scroller__slot {\n flex: auto 0 0;\n}\n.emoji-mart .vue-recycle-scroller__item-wrapper {\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.ready .vue-recycle-scroller__item-view {\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n}\n.emoji-mart\n .vue-recycle-scroller.direction-vertical\n .vue-recycle-scroller__item-wrapper {\n width: 100%;\n}\n.emoji-mart\n .vue-recycle-scroller.direction-horizontal\n .vue-recycle-scroller__item-wrapper {\n height: 100%;\n}\n.emoji-mart\n .vue-recycle-scroller.ready.direction-vertical\n .vue-recycle-scroller__item-view {\n width: 100%;\n}\n.emoji-mart\n .vue-recycle-scroller.ready.direction-horizontal\n .vue-recycle-scroller__item-view {\n height: 100%;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n border: none;\n background-color: transparent;\n pointer-events: none;\n display: block;\n overflow: hidden;\n opacity: 0;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] object {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.emoji-mart-search .hidden {\n display: none;\n visibility: hidden;\n}\n","",{version:3,sources:["webpack://./node_modules/emoji-mart-vue-fast/css/emoji-mart.css"],names:[],mappings:"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lB;;AAEA;EACE,YAAY;EACZ,cAAc;EACd,yBAAyB;EACzB,mBAAmB;EACnB,sBAAsB;AACxB;;AAEA;EACE,WAAW;EACX,cAAc;AAChB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,QAAQ;EACR,sBAAsB;EACtB,mCAAmC;EACnC,2BAA2B;EAC3B,oCAAoC;AACtC;;AAEA;EACE,oBAAoB;AACtB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,cAAc;AAChB;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX,qBAAqB;EACrB,sBAAsB;EACtB,mBAAmB;EACnB,oBAAoB;EACpB,UAAU;EACV,iCAAiC;AACnC;;AAEA;EACE,qBAAqB;EACrB,WAAW;EACX,iBAAiB;EACjB,eAAe;EACf,mBAAmB;AACrB;;AAEA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;;AAEA,uDAAuD;AACvD;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,OAAO;EACP,sBAAsB;EACtB,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,sBAAsB;AACxB;AACA;;;EAGE,WAAW;AACb;AACA;;;EAGE,YAAY;AACd;AACA;;;EAGE,WAAW;AACb;AACA;;;EAGE,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,6BAA6B;EAC7B,oBAAoB;EACpB,cAAc;EACd,gBAAgB;EAChB,UAAU;AACZ;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,oBAAoB;EACpB,WAAW;AACb;AACA;EACE,aAAa;EACb,kBAAkB;AACpB",sourcesContent:[".emoji-mart,\n.emoji-mart * {\n box-sizing: border-box;\n line-height: 1.15;\n}\n\n.emoji-mart {\n font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;\n font-size: 16px;\n /* display: inline-block; */\n display: flex;\n flex-direction: column;\n height: 420px;\n color: #222427;\n border: 1px solid #d9d9d9;\n border-radius: 5px;\n background: #fff;\n}\n\n.emoji-mart-emoji {\n padding: 6px;\n position: relative;\n display: inline-block;\n font-size: 0;\n border: none;\n background: none;\n box-shadow: none;\n}\n\n.emoji-mart-emoji span {\n display: inline-block;\n}\n\n.emoji-mart-preview-emoji .emoji-mart-emoji span {\n width: 38px;\n height: 38px;\n font-size: 32px;\n}\n\n.emoji-type-native {\n font-family: 'Segoe UI Emoji', 'Segoe UI Symbol', 'Segoe UI',\n 'Apple Color Emoji', 'Twemoji Mozilla', 'Noto Color Emoji', 'EmojiOne Color',\n 'Android Emoji';\n word-break: keep-all;\n}\n\n.emoji-type-image {\n /* Emoji sheet has 56 columns, see also utils/emoji-data.js, SHEET_COLUMNS variable */\n /* Here we use (56+1) * 100% to avoid visible edges of nearby icons when scaling for different\n * screen sizes */\n background-size: 6100%;\n}\n.emoji-type-image.emoji-set-apple {\n background-image: url('https://unpkg.com/emoji-datasource-apple@14.0.0/img/apple/sheets-256/64.png');\n}\n.emoji-type-image.emoji-set-facebook {\n background-image: url('https://unpkg.com/emoji-datasource-facebook@14.0.0/img/facebook/sheets-256/64.png');\n}\n.emoji-type-image.emoji-set-google {\n background-image: url('https://unpkg.com/emoji-datasource-google@14.0.0/img/google/sheets-256/64.png');\n}\n.emoji-type-image.emoji-set-twitter {\n background-image: url('https://unpkg.com/emoji-datasource-twitter@14.0.0/img/twitter/sheets-256/64.png');\n}\n\n.emoji-mart-bar {\n border: 0 solid #d9d9d9;\n}\n.emoji-mart-bar:first-child {\n border-bottom-width: 1px;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n}\n.emoji-mart-bar:last-child {\n border-top-width: 1px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n}\n\n.emoji-mart-scroll {\n position: relative;\n overflow-y: scroll;\n flex: 1;\n padding: 0 6px 6px 6px;\n z-index: 0; /* Fix for rendering sticky positioned category labels on Chrome */\n will-change: transform; /* avoids \"repaints on scroll\" in mobile Chrome */\n -webkit-overflow-scrolling: touch;\n}\n\n.emoji-mart-anchors {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 0 6px;\n color: #858585;\n line-height: 0;\n}\n\n.emoji-mart-anchor {\n position: relative;\n display: block;\n flex: 1 1 auto;\n text-align: center;\n padding: 12px 4px;\n overflow: hidden;\n transition: color 0.1s ease-out;\n border: none;\n background: none;\n box-shadow: none;\n}\n.emoji-mart-anchor:hover,\n.emoji-mart-anchor-selected {\n color: #464646;\n}\n\n.emoji-mart-anchor-selected .emoji-mart-anchor-bar {\n bottom: 0;\n}\n\n.emoji-mart-anchor-bar {\n position: absolute;\n bottom: -3px;\n left: 0;\n width: 100%;\n height: 3px;\n background-color: #464646;\n}\n\n.emoji-mart-anchors i {\n display: inline-block;\n width: 100%;\n max-width: 22px;\n}\n\n.emoji-mart-anchors svg {\n fill: currentColor;\n max-height: 18px;\n}\n\n.emoji-mart .scroller {\n height: 250px;\n position: relative;\n flex: 1;\n padding: 0 6px 6px 6px;\n z-index: 0; /* Fix for rendering sticky positioned category labels on Chrome */\n will-change: transform; /* avoids \"repaints on scroll\" in mobile Chrome */\n -webkit-overflow-scrolling: touch;\n}\n\n.emoji-mart-search {\n margin-top: 6px;\n padding: 0 6px;\n}\n.emoji-mart-search input {\n font-size: 16px;\n display: block;\n width: 100%;\n padding: 0.2em 0.6em;\n border-radius: 25px;\n border: 1px solid #d9d9d9;\n outline: 0;\n}\n.emoji-mart-search-results {\n height: 250px;\n overflow-y: scroll;\n}\n\n.emoji-mart-category {\n position: relative;\n}\n\n.emoji-mart-category .emoji-mart-emoji span {\n z-index: 1;\n position: relative;\n text-align: center;\n cursor: default;\n}\n\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n z-index: 0;\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #f4f4f4;\n border-radius: 100%;\n opacity: 0;\n}\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n opacity: 1;\n}\n\n.emoji-mart-category-label {\n position: sticky;\n top: 0;\n}\n.emoji-mart-static .emoji-mart-category-label {\n z-index: 2;\n position: relative;\n /* position: sticky; */\n /* position: -webkit-sticky; */\n}\n\n.emoji-mart-category-label h3 {\n display: block;\n font-size: 16px;\n width: 100%;\n font-weight: 500;\n padding: 5px 6px;\n background-color: #fff;\n background-color: rgba(255, 255, 255, 0.95);\n}\n\n.emoji-mart-emoji {\n position: relative;\n display: inline-block;\n font-size: 0;\n}\n\n.emoji-mart-no-results {\n font-size: 14px;\n text-align: center;\n padding-top: 70px;\n color: #858585;\n}\n.emoji-mart-no-results .emoji-mart-category-label {\n display: none;\n}\n.emoji-mart-no-results .emoji-mart-no-results-label {\n margin-top: 0.2em;\n}\n.emoji-mart-no-results .emoji-mart-emoji:hover:before {\n content: none;\n}\n\n.emoji-mart-preview {\n position: relative;\n height: 70px;\n}\n\n.emoji-mart-preview-emoji,\n.emoji-mart-preview-data,\n.emoji-mart-preview-skins {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.emoji-mart-preview-emoji {\n left: 12px;\n}\n\n.emoji-mart-preview-data {\n left: 68px;\n right: 12px;\n word-break: break-all;\n}\n\n.emoji-mart-preview-skins {\n right: 30px;\n text-align: right;\n}\n\n.emoji-mart-preview-name {\n font-size: 14px;\n}\n\n.emoji-mart-preview-shortname {\n font-size: 12px;\n color: #888;\n}\n.emoji-mart-preview-shortname + .emoji-mart-preview-shortname,\n.emoji-mart-preview-shortname + .emoji-mart-preview-emoticon,\n.emoji-mart-preview-emoticon + .emoji-mart-preview-emoticon {\n margin-left: 0.5em;\n}\n\n.emoji-mart-preview-emoticon {\n font-size: 11px;\n color: #bbb;\n}\n\n.emoji-mart-title span {\n display: inline-block;\n vertical-align: middle;\n}\n\n.emoji-mart-title .emoji-mart-emoji {\n padding: 0;\n}\n\n.emoji-mart-title-label {\n color: #999a9c;\n font-size: 21px;\n font-weight: 300;\n}\n\n.emoji-mart-skin-swatches {\n font-size: 0;\n padding: 2px 0;\n border: 1px solid #d9d9d9;\n border-radius: 12px;\n background-color: #fff;\n}\n\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch {\n width: 16px;\n padding: 0 2px;\n}\n\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch-selected:after {\n opacity: 0.75;\n}\n\n.emoji-mart-skin-swatch {\n display: inline-block;\n width: 0;\n vertical-align: middle;\n transition-property: width, padding;\n transition-duration: 0.125s;\n transition-timing-function: ease-out;\n}\n\n.emoji-mart-skin-swatch:nth-child(1) {\n transition-delay: 0s;\n}\n.emoji-mart-skin-swatch:nth-child(2) {\n transition-delay: 0.03s;\n}\n.emoji-mart-skin-swatch:nth-child(3) {\n transition-delay: 0.06s;\n}\n.emoji-mart-skin-swatch:nth-child(4) {\n transition-delay: 0.09s;\n}\n.emoji-mart-skin-swatch:nth-child(5) {\n transition-delay: 0.12s;\n}\n.emoji-mart-skin-swatch:nth-child(6) {\n transition-delay: 0.15s;\n}\n\n.emoji-mart-skin-swatch-selected {\n position: relative;\n width: 16px;\n padding: 0 2px;\n}\n.emoji-mart-skin-swatch-selected:after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 4px;\n height: 4px;\n margin: -2px 0 0 -2px;\n background-color: #fff;\n border-radius: 100%;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s ease-out;\n}\n\n.emoji-mart-skin {\n display: inline-block;\n width: 100%;\n padding-top: 100%;\n max-width: 12px;\n border-radius: 100%;\n}\n\n.emoji-mart-skin-tone-1 {\n background-color: #ffc93a;\n}\n.emoji-mart-skin-tone-2 {\n background-color: #fadcbc;\n}\n.emoji-mart-skin-tone-3 {\n background-color: #e0bb95;\n}\n.emoji-mart-skin-tone-4 {\n background-color: #bf8f68;\n}\n.emoji-mart-skin-tone-5 {\n background-color: #9b643d;\n}\n.emoji-mart-skin-tone-6 {\n background-color: #594539;\n}\n\n/* vue-virtual-scroller/dist/vue-virtual-scroller.css */\n.emoji-mart .vue-recycle-scroller {\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.direction-vertical:not(.page-mode) {\n overflow-y: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal:not(.page-mode) {\n overflow-x: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal {\n display: flex;\n}\n.emoji-mart .vue-recycle-scroller__slot {\n flex: auto 0 0;\n}\n.emoji-mart .vue-recycle-scroller__item-wrapper {\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.ready .vue-recycle-scroller__item-view {\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n}\n.emoji-mart\n .vue-recycle-scroller.direction-vertical\n .vue-recycle-scroller__item-wrapper {\n width: 100%;\n}\n.emoji-mart\n .vue-recycle-scroller.direction-horizontal\n .vue-recycle-scroller__item-wrapper {\n height: 100%;\n}\n.emoji-mart\n .vue-recycle-scroller.ready.direction-vertical\n .vue-recycle-scroller__item-view {\n width: 100%;\n}\n.emoji-mart\n .vue-recycle-scroller.ready.direction-horizontal\n .vue-recycle-scroller__item-view {\n height: 100%;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n border: none;\n background-color: transparent;\n pointer-events: none;\n display: block;\n overflow: hidden;\n opacity: 0;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] object {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.emoji-mart-search .hidden {\n display: none;\n visibility: hidden;\n}\n"],sourceRoot:""}]);const s=o},9934:(t,e,n)=>{n.d(e,{Z:()=>N});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a),s=n(1667),l=n.n(s),c=new URL(n(6417),n.b),A=new URL(n(7425),n.b),d=new URL(n(817),n.b),u=new URL(n(9039),n.b),p=new URL(n(3787),n.b),h=new URL(n(4259),n.b),T=new URL(n(5415),n.b),m=new URL(n(5322),n.b),f=o()(i()),g=l()(c),v=l()(A),C=l()(d),b=l()(u),E=l()(p),D=l()(h),S=l()(T),y=l()(m);f.push([t.id,'.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mx-icon-left:before,.mx-icon-right:before,.mx-icon-double-left:before,.mx-icon-double-right:before,.mx-icon-double-left:after,.mx-icon-double-right:after{content:"";position:relative;top:-1px;display:inline-block;width:10px;height:10px;vertical-align:middle;border-style:solid;border-color:currentColor;border-width:2px 0 0 2px;border-radius:1px;box-sizing:border-box;transform-origin:center;transform:rotate(-45deg) scale(0.7)}.mx-icon-double-left:after{left:-4px}.mx-icon-double-right:before{left:4px}.mx-icon-right:before,.mx-icon-double-right:before,.mx-icon-double-right:after{transform:rotate(135deg) scale(0.7)}.mx-btn{box-sizing:border-box;line-height:1;font-size:14px;font-weight:500;padding:7px 15px;margin:0;cursor:pointer;background-color:rgba(0,0,0,0);outline:none;border:1px solid rgba(0,0,0,.1);border-radius:4px;color:#73879c;white-space:nowrap}.mx-btn:hover{border-color:#1284e7;color:#1284e7}.mx-btn:disabled,.mx-btn.disabled{color:#ccc;cursor:not-allowed}.mx-btn-text{border:0;padding:0 4px;text-align:left;line-height:inherit}.mx-scrollbar{height:100%}.mx-scrollbar:hover .mx-scrollbar-track{opacity:1}.mx-scrollbar-wrap{height:100%;overflow-x:hidden;overflow-y:auto}.mx-scrollbar-track{position:absolute;top:2px;right:2px;bottom:2px;width:6px;z-index:1;border-radius:4px;opacity:0;transition:opacity .24s ease-out}.mx-scrollbar-track .mx-scrollbar-thumb{position:absolute;width:100%;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);transition:background-color .3s}.mx-zoom-in-down-enter-active,.mx-zoom-in-down-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(0.23, 1, 0.32, 1),opacity .3s cubic-bezier(0.23, 1, 0.32, 1);transform-origin:center top}.mx-zoom-in-down-enter,.mx-zoom-in-down-enter-from,.mx-zoom-in-down-leave-to{opacity:0;transform:scaleY(0)}.mx-datepicker{position:relative;display:inline-block;width:210px}.mx-datepicker svg{width:1em;height:1em;vertical-align:-0.15em;fill:currentColor;overflow:hidden}.mx-datepicker-range{width:320px}.mx-datepicker-inline{width:auto}.mx-input-wrapper{position:relative}.mx-input{display:inline-block;box-sizing:border-box;width:100%;height:34px;padding:6px 30px;padding-left:10px;font-size:14px;line-height:1.4;color:#555;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.mx-input:hover,.mx-input:focus{border-color:#409aff}.mx-input:disabled,.mx-input.disabled{color:#ccc;background-color:#f3f3f3;border-color:#ccc;cursor:not-allowed}.mx-input:focus{outline:none}.mx-input::-ms-clear{display:none}.mx-icon-calendar,.mx-icon-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:16px;line-height:1;color:rgba(0,0,0,.5);vertical-align:middle}.mx-icon-clear{cursor:pointer}.mx-icon-clear:hover{color:rgba(0,0,0,.8)}.mx-datepicker-main{font:14px/1.5 "Helvetica Neue",Helvetica,Arial,"Microsoft Yahei",sans-serif;color:#73879c;background-color:#fff;border:1px solid #e8e8e8}.mx-datepicker-popup{position:absolute;margin-top:1px;margin-bottom:1px;box-shadow:0 6px 12px rgba(0,0,0,.175);z-index:2001}.mx-datepicker-sidebar{float:left;box-sizing:border-box;width:100px;padding:6px;overflow:auto}.mx-datepicker-sidebar+.mx-datepicker-content{margin-left:100px;border-left:1px solid #e8e8e8}.mx-datepicker-body{position:relative;user-select:none}.mx-btn-shortcut{display:block;padding:0 6px;line-height:24px}.mx-range-wrapper{display:flex}@media(max-width: 750px){.mx-range-wrapper{flex-direction:column}}.mx-datepicker-header{padding:6px 8px;border-bottom:1px solid #e8e8e8}.mx-datepicker-footer{padding:6px 8px;text-align:right;border-top:1px solid #e8e8e8}.mx-calendar{box-sizing:border-box;width:248px;padding:6px 12px}.mx-calendar+.mx-calendar{border-left:1px solid #e8e8e8}.mx-calendar-header,.mx-time-header{box-sizing:border-box;height:34px;line-height:34px;text-align:center;overflow:hidden}.mx-btn-icon-left,.mx-btn-icon-double-left{float:left}.mx-btn-icon-right,.mx-btn-icon-double-right{float:right}.mx-calendar-header-label{font-size:14px}.mx-calendar-decade-separator{margin:0 2px}.mx-calendar-decade-separator:after{content:"~"}.mx-calendar-content{position:relative;height:224px;box-sizing:border-box}.mx-calendar-content .cell{cursor:pointer}.mx-calendar-content .cell:hover{color:#73879c;background-color:#f3f9fe}.mx-calendar-content .cell.active{color:#fff;background-color:#1284e7}.mx-calendar-content .cell.in-range,.mx-calendar-content .cell.hover-in-range{color:#73879c;background-color:#dbedfb}.mx-calendar-content .cell.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-calendar-week-mode .mx-date-row{cursor:pointer}.mx-calendar-week-mode .mx-date-row:hover{background-color:#f3f9fe}.mx-calendar-week-mode .mx-date-row.mx-active-week{background-color:#dbedfb}.mx-calendar-week-mode .mx-date-row .cell:hover{color:inherit;background-color:rgba(0,0,0,0)}.mx-calendar-week-mode .mx-date-row .cell.active{color:inherit;background-color:rgba(0,0,0,0)}.mx-week-number{opacity:.5}.mx-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;height:100%;box-sizing:border-box;text-align:center}.mx-table th{padding:0;font-weight:500;vertical-align:middle}.mx-table td{padding:0;vertical-align:middle}.mx-table-date td,.mx-table-date th{height:32px;font-size:12px}.mx-table-date .today{color:#2a90e9}.mx-table-date .cell.not-current-month{color:#ccc;background:none}.mx-time{flex:1;width:224px;background:#fff}.mx-time+.mx-time{border-left:1px solid #e8e8e8}.mx-calendar-time{position:absolute;top:0;left:0;width:100%;height:100%}.mx-time-header{border-bottom:1px solid #e8e8e8}.mx-time-content{height:224px;box-sizing:border-box;overflow:hidden}.mx-time-columns{display:flex;width:100%;height:100%;overflow:hidden}.mx-time-column{flex:1;position:relative;border-left:1px solid #e8e8e8;text-align:center}.mx-time-column:first-child{border-left:0}.mx-time-column .mx-time-list{margin:0;padding:0;list-style:none}.mx-time-column .mx-time-list::after{content:"";display:block;height:192px}.mx-time-column .mx-time-item{cursor:pointer;font-size:12px;height:32px;line-height:32px}.mx-time-column .mx-time-item:hover{color:#73879c;background-color:#f3f9fe}.mx-time-column .mx-time-item.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-column .mx-time-item.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-time-option{cursor:pointer;padding:8px 10px;font-size:14px;line-height:20px}.mx-time-option:hover{color:#73879c;background-color:#f3f9fe}.mx-time-option.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-option.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-datepicker[data-v-18ada6c]{user-select:none;color:var(--color-main-text)}.mx-datepicker[data-v-18ada6c] svg{fill:var(--color-main-text)}.mx-datepicker[data-v-18ada6c] .mx-input-wrapper .mx-input{width:100%;border:2px solid var(--color-border-maxcontrast);background-color:var(--color-main-background);background-clip:content-box}.mx-datepicker[data-v-18ada6c] .mx-input-wrapper .mx-input:active:not(.disabled),.mx-datepicker[data-v-18ada6c] .mx-input-wrapper .mx-input:hover:not(.disabled),.mx-datepicker[data-v-18ada6c] .mx-input-wrapper .mx-input:focus:not(.disabled){border-color:var(--color-primary-element)}.mx-datepicker[data-v-18ada6c] .mx-input-wrapper:disabled,.mx-datepicker[data-v-18ada6c] .mx-input-wrapper.disabled{cursor:not-allowed;opacity:.7}.mx-datepicker[data-v-18ada6c] .mx-input-wrapper .mx-icon-calendar,.mx-datepicker[data-v-18ada6c] .mx-input-wrapper .mx-icon-clear{color:var(--color-text-lighter)}.mx-datepicker-main{color:var(--color-main-text);border:1px solid var(--color-border);background-color:var(--color-main-background);font-family:var(--font-face) !important;line-height:1.5}.mx-datepicker-main svg{fill:var(--color-main-text)}.mx-datepicker-main.mx-datepicker-popup{z-index:2000;box-shadow:none}.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar+.mx-datepicker-content{border-left:1px solid var(--color-border)}.mx-datepicker-main.show-week-number .mx-calendar{width:296px}.mx-datepicker-main .mx-datepicker-header{border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-footer{border-top:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-btn-confirm{background-color:var(--color-primary-element);border-color:var(--color-primary-element);color:var(--color-primary-element-text) !important;opacity:1 !important}.mx-datepicker-main .mx-datepicker-btn-confirm:hover{background-color:var(--color-primary-element-light) !important;border-color:var(--color-primary-element-light) !important}.mx-datepicker-main .mx-calendar{width:264px;padding:5px}.mx-datepicker-main .mx-calendar.mx-calendar-week-mode{width:296px}.mx-datepicker-main .mx-time+.mx-time,.mx-datepicker-main .mx-calendar+.mx-calendar{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-range-wrapper{display:flex;overflow:hidden}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active{border-radius:var(--border-radius) 0 0 var(--border-radius)}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range+.cell.active{border-radius:0 var(--border-radius) var(--border-radius) 0}.mx-datepicker-main .mx-table{text-align:center}.mx-datepicker-main .mx-table thead>tr>th{text-align:center;opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:rgba(0,0,0,0)}.mx-datepicker-main .mx-table .cell{transition:all 100ms ease-in-out;text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-element-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:0;font-weight:normal}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-element-text);background-color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.disabled{opacity:.5;color:var(--color-text-lighter);border-radius:0;background-color:var(--color-background-darker)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background 100ms ease-in-out}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 2px !important;padding:7px 10px;cursor:pointer;text-decoration:none;opacity:.5;color:var(--color-text-lighter);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:.7;color:var(--color-main-text);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0;background-repeat:no-repeat;background-size:16px;background-position:center}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{display:none}.mx-datepicker-main .mx-calendar-header button.mx-btn-text,.mx-datepicker-main .mx-time-header button.mx-btn-text{line-height:initial}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url('+g+")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url("+v+")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url("+C+")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url("+b+")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url("+E+")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url("+D+")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url("+S+")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url("+y+")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:bold}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:50px;background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:rgba(0,0,0,0)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:normal}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text);background-color:var(--color-main-background)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./node_modules/vue2-datepicker/scss/icon.scss","webpack://./node_modules/vue2-datepicker/scss/btn.scss","webpack://./node_modules/vue2-datepicker/scss/var.scss","webpack://./node_modules/vue2-datepicker/scss/scrollbar.scss","webpack://./node_modules/vue2-datepicker/scss/animation.scss","webpack://./node_modules/vue2-datepicker/scss/index.scss","webpack://./src/components/NcDatetimePicker/index.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"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",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","@import './var.scss';\n\n.#{$namespace}-icon-left:before,\n.#{$namespace}-icon-right:before,\n.#{$namespace}-icon-double-left:before,\n.#{$namespace}-icon-double-right:before,\n.#{$namespace}-icon-double-left:after,\n.#{$namespace}-icon-double-right:after {\n content: '';\n position: relative;\n top: -1px;\n display: inline-block;\n width: 10px;\n height: 10px;\n vertical-align: middle;\n border-style: solid;\n border-color: currentColor;\n border-width: 2px 0 0 2px;\n border-radius: 1px;\n box-sizing: border-box;\n transform-origin: center;\n transform: rotate(-45deg) scale(0.7);\n}\n\n.#{$namespace}-icon-double-left:after {\n left: -4px;\n}\n\n.#{$namespace}-icon-double-right:before {\n left: 4px;\n}\n\n.#{$namespace}-icon-right:before,\n.#{$namespace}-icon-double-right:before,\n.#{$namespace}-icon-double-right:after {\n transform: rotate(135deg) scale(0.7);\n}\n","@import './var.scss';\n\n.#{$namespace}-btn {\n box-sizing: border-box;\n line-height: 1;\n font-size: 14px;\n font-weight: 500;\n padding: 7px 15px;\n margin: 0;\n cursor: pointer;\n background-color: transparent;\n outline: none;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n color: $default-color;\n white-space: nowrap;\n &:hover {\n border-color: $primary-color;\n color: $primary-color;\n }\n &:disabled,\n &.disabled {\n color: $disabled-color;\n cursor: not-allowed;\n }\n}\n\n.#{$namespace}-btn-text {\n border: 0;\n padding: 0 4px;\n text-align: left;\n line-height: inherit;\n}\n","$namespace: 'mx' !default;\n\n$default-color: #73879c !default;\n$primary-color: #1284e7 !default;\n\n$today-color: mix(#fff, $primary-color, 10%) !default;\n\n$popup-z-index: 2001 !default;\n\n$input-border-color: #ccc !default;\n$input-color: #555 !default;\n$input-hover-border-color: #409aff !default;\n\n$disabled-color: #ccc !default;\n$disabled-background-color: #f3f3f3 !default;\n\n$border-color: #e8e8e8 !default;\n\n$calendar-active-color: #fff !default;\n$calendar-active-background-color: $primary-color !default;\n\n$calendar-hover-color: $default-color !default;\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\n\n$calendar-in-range-color: $default-color !default;\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\n\n$time-active-color: $primary-color !default;\n$time-active-background-color: transparent !default;\n\n$time-hover-color: $default-color !default;\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\n\n$input-border-radius: 4px !default;\n$sidebar-margin-left: 100px !default;\n","@import './var.scss';\n\n.#{$namespace}-scrollbar {\n height: 100%;\n &:hover {\n .#{$namespace}-scrollbar-track {\n opacity: 1;\n }\n }\n}\n\n.#{$namespace}-scrollbar-wrap {\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.#{$namespace}-scrollbar-track {\n position: absolute;\n top: 2px;\n right: 2px;\n bottom: 2px;\n width: 6px;\n z-index: 1;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.24s ease-out;\n .#{$namespace}-scrollbar-thumb {\n position: absolute;\n width: 100%;\n height: 0;\n cursor: pointer;\n border-radius: inherit;\n background-color: rgba(144, 147, 153, 0.3);\n transition: background-color 0.3s;\n }\n}\n","@import './var.scss';\n\n.#{$namespace}-zoom-in-down-enter-active,\n.#{$namespace}-zoom-in-down-leave-active {\n opacity: 1;\n transform: scaleY(1);\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\n transform-origin: center top;\n}\n\n.#{$namespace}-zoom-in-down-enter,\n.#{$namespace}-zoom-in-down-enter-from,\n.#{$namespace}-zoom-in-down-leave-to {\n opacity: 0;\n transform: scaleY(0);\n}\n","@import './var.scss';\n@import './icon.scss';\n@import './btn.scss';\n@import './scrollbar.scss';\n@import './animation.scss';\n\n.#{$namespace}-datepicker {\n position: relative;\n display: inline-block;\n width: 210px;\n svg {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n }\n}\n\n.#{$namespace}-datepicker-range {\n width: 320px;\n}\n\n.#{$namespace}-datepicker-inline {\n width: auto;\n}\n\n.#{$namespace}-input-wrapper {\n position: relative;\n}\n\n.#{$namespace}-input {\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n height: 34px;\n padding: 6px 30px;\n padding-left: 10px;\n font-size: 14px;\n line-height: 1.4;\n color: $input-color;\n background-color: #fff;\n border: 1px solid $input-border-color;\n border-radius: $input-border-radius;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n\n &:hover,\n &:focus {\n border-color: $input-hover-border-color;\n }\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background-color;\n border-color: $input-border-color;\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &::-ms-clear {\n display: none;\n }\n}\n\n.#{$namespace}-icon-calendar,\n.#{$namespace}-icon-clear {\n position: absolute;\n top: 50%;\n right: 8px;\n transform: translateY(-50%);\n font-size: 16px;\n line-height: 1;\n color: rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n}\n\n.#{$namespace}-icon-clear {\n cursor: pointer;\n &:hover {\n color: rgba(0, 0, 0, 0.8);\n }\n}\n\n.#{$namespace}-datepicker-main {\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\n color: $default-color;\n background-color: #fff;\n border: 1px solid $border-color;\n}\n\n.#{$namespace}-datepicker-popup {\n position: absolute;\n margin-top: 1px;\n margin-bottom: 1px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n z-index: $popup-z-index;\n}\n\n.#{$namespace}-datepicker-sidebar {\n float: left;\n box-sizing: border-box;\n width: $sidebar-margin-left;\n padding: 6px;\n overflow: auto;\n}\n\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\n margin-left: $sidebar-margin-left;\n border-left: 1px solid $border-color;\n}\n\n.#{$namespace}-datepicker-body {\n position: relative;\n user-select: none;\n}\n\n.#{$namespace}-btn-shortcut {\n display: block;\n padding: 0 6px;\n line-height: 24px;\n}\n\n.#{$namespace}-range-wrapper {\n display: flex;\n @media (max-width: 750px) {\n flex-direction: column;\n }\n}\n\n.#{$namespace}-datepicker-header {\n padding: 6px 8px;\n border-bottom: 1px solid $border-color;\n}\n\n.#{$namespace}-datepicker-footer {\n padding: 6px 8px;\n text-align: right;\n border-top: 1px solid $border-color;\n}\n\n.#{$namespace}-calendar {\n box-sizing: border-box;\n width: 248px;\n padding: 6px 12px;\n & + & {\n border-left: 1px solid $border-color;\n }\n}\n\n.#{$namespace}-calendar-header {\n box-sizing: border-box;\n height: 34px;\n line-height: 34px;\n text-align: center;\n overflow: hidden;\n}\n\n.#{$namespace}-btn-icon-left,\n.#{$namespace}-btn-icon-double-left {\n float: left;\n}\n.#{$namespace}-btn-icon-right,\n.#{$namespace}-btn-icon-double-right {\n float: right;\n}\n\n.#{$namespace}-calendar-header-label {\n font-size: 14px;\n}\n\n.#{$namespace}-calendar-decade-separator {\n margin: 0 2px;\n &:after {\n content: '~';\n }\n}\n\n.#{$namespace}-calendar-content {\n position: relative;\n height: 224px;\n box-sizing: border-box;\n .cell {\n cursor: pointer;\n &:hover {\n color: $calendar-hover-color;\n background-color: $calendar-hover-background-color;\n }\n &.active {\n color: $calendar-active-color;\n background-color: $calendar-active-background-color;\n }\n &.in-range,\n &.hover-in-range {\n color: $calendar-in-range-color;\n background-color: $calendar-in-range-background-color;\n }\n &.disabled {\n cursor: not-allowed;\n color: $disabled-color;\n background-color: $disabled-background-color;\n }\n }\n}\n\n.#{$namespace}-calendar-week-mode {\n .#{$namespace}-date-row {\n cursor: pointer;\n &:hover {\n background-color: $calendar-hover-background-color;\n }\n &.#{$namespace}-active-week {\n background-color: $calendar-in-range-background-color;\n }\n .cell {\n &:hover {\n color: inherit;\n background-color: transparent;\n }\n &.active {\n color: inherit;\n background-color: transparent;\n }\n }\n }\n}\n\n.#{$namespace}-week-number {\n opacity: 0.5;\n}\n\n.#{$namespace}-table {\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n text-align: center;\n\n th {\n padding: 0;\n font-weight: 500;\n vertical-align: middle;\n }\n td {\n padding: 0;\n vertical-align: middle;\n }\n}\n\n.#{$namespace}-table-date {\n td,\n th {\n height: 32px;\n font-size: 12px;\n }\n\n .today {\n color: $today-color;\n }\n .cell.not-current-month {\n color: #ccc;\n background: none; // cover the in-range style\n }\n}\n\n.#{$namespace}-time {\n flex: 1;\n width: 224px;\n background: #fff;\n & + & {\n border-left: 1px solid $border-color;\n }\n}\n.#{$namespace}-calendar-time {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.#{$namespace}-time-header {\n @extend .#{$namespace}-calendar-header;\n border-bottom: 1px solid $border-color;\n}\n\n.#{$namespace}-time-content {\n height: 224px;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.#{$namespace}-time-columns {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.#{$namespace}-time-column {\n flex: 1;\n position: relative;\n border-left: 1px solid $border-color;\n text-align: center;\n\n &:first-child {\n border-left: 0;\n }\n .#{$namespace}-time-list {\n margin: 0;\n padding: 0;\n list-style: none;\n &::after {\n content: '';\n display: block;\n height: 32 * 6px;\n }\n }\n .#{$namespace}-time-item {\n cursor: pointer;\n font-size: 12px;\n height: 32px;\n line-height: 32px;\n &:hover {\n color: $time-hover-color;\n background-color: $time-hover-background-color;\n }\n &.active {\n color: $time-active-color;\n background-color: $time-active-background-color;\n font-weight: 700;\n }\n &.disabled {\n cursor: not-allowed;\n color: $disabled-color;\n background-color: $disabled-background-color;\n }\n }\n}\n\n.#{$namespace}-time-option {\n cursor: pointer;\n padding: 8px 10px;\n font-size: 14px;\n line-height: 20px;\n &:hover {\n color: $time-hover-color;\n background-color: $time-hover-background-color;\n }\n &.active {\n color: $time-active-color;\n background-color: $time-active-background-color;\n font-weight: 700;\n }\n &.disabled {\n cursor: not-allowed;\n color: $disabled-color;\n background-color: $disabled-background-color;\n }\n}\n","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n$cell_height: 32px;\n\n@import '~vue2-datepicker/scss/index';\n\n.mx-datepicker[data-v-#{$scope_version}] {\n\tuser-select: none;\n\tcolor: var(--color-main-text);\n\n\tsvg {\n\t\tfill: var(--color-main-text);\n\t}\n\n\t/* INPUT CONTAINER */\n\t.mx-input-wrapper {\n\t\t// input\n\t\t.mx-input {\n\t\t\twidth: 100%;\n\t\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tbackground-clip: content-box;\n\t\t\t\n\t\t\t&:active:not(.disabled),\n\t\t\t&:hover:not(.disabled),\n\t\t\t&:focus:not(.disabled) {\n\t\t\t\tborder-color: var(--color-primary-element);\n\t\t\t}\n\t\t}\n\n\t\t&:disabled,\n\t\t&.disabled {\n\t\t\tcursor: not-allowed;\n\t\t\topacity: $opacity_normal;\n\t\t}\n\n\t\t.mx-icon-calendar,\n\t\t.mx-icon-clear {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n}\n\n// Datepicker popup wrapper\n.mx-datepicker-main {\n\tcolor: var(--color-main-text);\n\tborder: 1px solid var(--color-border);\n\tbackground-color: var(--color-main-background);\n\tfont-family: var(--font-face) !important;\n\tline-height: 1.5;\n\n\tsvg {\n\t\tfill: var(--color-main-text);\n\t}\n\n\t&.mx-datepicker-popup {\n\t\tz-index: 2000;\n\t\tbox-shadow: none;\n\n\t\t.mx-datepicker-sidebar + .mx-datepicker-content {\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\t}\n\t\n\t&.show-week-number .mx-calendar {\n\t\twidth: $cell_height * 8 + 2 * 5px + 30px; // week number + 7 days + padding + 30px padding to fit the buttons\n\t}\n\n\t.mx-datepicker-header {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t.mx-datepicker-footer {\n\t\tborder-top: 1px solid var(--color-border);\n\t}\n\n\t.mx-datepicker-btn-confirm {\n\t\tbackground-color: var(--color-primary-element);\n\t\tborder-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text) !important;\n\t\topacity: 1 !important;\n\t}\n\n\t.mx-datepicker-btn-confirm:hover {\n\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\tborder-color: var(--color-primary-element-light) !important;\n\t}\n\n\t// default popup styles\n\t.mx-calendar {\n\t\twidth: $cell_height * 7 + 2 * 5px + 30px; // 7 days + padding + 30px padding to fit the buttons\n\t\tpadding: 5px;\n\t\t&.mx-calendar-week-mode {\n\t\t\twidth: $cell_height * 8 + 2 * 5px + 30px; // week number + 7 days + padding + 30px padding to fit the buttons\n\t\t}\n\t}\n\n\t.mx-time + .mx-time,\n\t.mx-calendar + .mx-calendar {\n\t\tborder-left: 1px solid var(--color-border);\n\t}\n\n\t.mx-range-wrapper {\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\n\t\t// first active cell, range style on day picker panel only\n\t\t.mx-calendar-content .mx-table-date .cell {\n\t\t\t&.active {\n\t\t\t\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\n\t\t\t}\n\t\t\t// second selected cell\n\t\t\t&.in-range + .cell.active {\n\t\t\t\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Various panels\n\t.mx-table {\n\t\ttext-align: center;\n\n\t\tthead > tr > th {\n\t\t\ttext-align: center;\n\t\t\topacity: $opacity_disabled;\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\n\t\t// Override table rule from server\n\t\ttr:focus,\n\t\ttr:hover,\n\t\ttr:active {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t// regular cell style\n\t\t.cell {\n\t\t\ttransition: all 100ms ease-in-out;\n\t\t\ttext-align: center;\n\t\t\topacity: $opacity_normal;\n\t\t\tborder-radius: 50px;\n\n\t\t\t// force pointer on all content\n\t\t\t> * {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t// Selected and mouse event\n\t\t\t&.today {\n\t\t\t\topacity: $opacity_full;\n\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\tfont-weight: bold;\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\t}\n\t\t\t}\n\t\t\t&.in-range,\n\t\t\t&.disabled {\n\t\t\t\tborder-radius: 0;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t\t&.in-range {\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t\t&.not-current-month {\n\t\t\t\topacity: $opacity_disabled;\n\t\t\t\tcolor: var(--color-text-lighter);\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// hover-/focus after the other rules\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&.actived,\n\t\t\t&.active,\n\t\t\t&.in-range {\n\t\t\t\topacity: $opacity_full;\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\t\t\t&.disabled {\n\t\t\t\topacity: $opacity_disabled;\n\t\t\t\tcolor: var(--color-text-lighter);\n\t\t\t\tborder-radius: 0;\n\t\t\t\tbackground-color: var(--color-background-darker);\n\t\t\t}\n\t\t}\n\n\t\t.mx-week-number {\n\t\t\ttext-align: center;\n\t\t\topacity: $opacity_normal;\n\t\t\tborder-radius: 50px;\n\t\t}\n\n\t\t// cell that are not in a table\n\t\tspan.mx-week-number,\n\t\tli.mx-week-number,\n\t\tspan.cell,\n\t\tli.cell {\n\t\t\tmin-height: $cell_height;\n\t\t}\n\n\t\t// Standard grid/flex layout for day/month/year panels\n\t\t&.mx-table-date thead,\n\t\t&.mx-table-date tbody,\n\t\t&.mx-table-year,\n\t\t&.mx-table-month {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: space-around;\n\t\t\ttr {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tflex: 1 1 $cell_height;\n\t\t\t\tjustify-content: space-around;\n\t\t\t\tmin-height: $cell_height;\n\t\t\t}\n\t\t\t// Default cell style\n\t\t\tth,\n\t\t\ttd {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\t// 3 rows with a little spacing\n\t\t\t\tflex: 0 1 32%;\n\t\t\t\tjustify-content: center;\n\t\t\t\tmin-width: $cell_height;\n\t\t\t\t// spacing between rows\n\t\t\t\theight: 95%;\n\t\t\t\tmin-height: $cell_height;\n\t\t\t\ttransition: background 100ms ease-in-out;\n\t\t\t}\n\t\t}\n\t\t&.mx-table-year {\n\t\t\ttr th,\n\t\t\ttr td {\n\t\t\t\t// only two rows in year panel\n\t\t\t\tflex-basis: 48%;\n\t\t\t}\n\t\t}\n\t\t&.mx-table-date {\n\t\t\ttr th,\n\t\t\ttr td {\n\t\t\t\t// only two rows in year panel\n\t\t\t\tflex-basis: $cell_height;\n\t\t\t}\n\t\t}\n\t}\n\n\t// default buttons: header...\n\t.mx-btn {\n\t\tmin-width: $cell_height;\n\t\theight: $cell_height;\n\t\tmargin: 0 2px !important; // center also single element. Definitively use margin so that buttons are not touching\n\t\tpadding: 7px 10px;\n\t\tcursor: pointer;\n\t\ttext-decoration: none;\n\t\topacity: $opacity_disabled;\n\t\tcolor: var(--color-text-lighter);\n\t\tborder-radius: $cell_height;\n\t\tline-height: $cell_height - 12px; // padding minus 2px for better visual\n\t\t// Mouse feedback\n\t\t&:hover,\n\t\t&:focus {\n\t\t\topacity: $opacity_full;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tbackground-color: var(--color-background-darker);\n\t\t}\n\t}\n\n\t// Header, arrows, years, months\n\t.mx-calendar-header {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\twidth: 100%;\n\t\theight: $clickable-area;\n\t\tmargin-bottom: 4px;\n\n\t\tbutton {\n\t\t\tmin-width: $cell_height;\n\t\t\tmin-height: $cell_height;\n\t\t\tmargin: 0;\n\t\t\tcursor: pointer;\n\t\t\ttext-align: center;\n\t\t\ttext-decoration: none;\n\t\t\topacity: $opacity_normal;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: $cell_height;\n\t\t\tline-height: $cell_height - 12px; // padding minus 2px for better visual\n\n\t\t\t// Mouse feedback\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\topacity: $opacity_full;\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tbackground-color: var(--color-background-darker);\n\t\t\t}\n\n\t\t\t// Header arrows\n\t\t\t&.mx-btn-icon-double-left,\n\t\t\t&.mx-btn-icon-left,\n\t\t\t&.mx-btn-icon-right,\n\t\t\t&.mx-btn-icon-double-right {\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\twidth: $cell_height;\n\t\t\t\tpadding: 0; // leave the centering to flex\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\tbackground-size: 16px;\n\t\t\t\tbackground-position: center;\n\n\t\t\t\t// Hide original icons\n\t\t\t\t> i {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&.mx-btn-text {\n\t\t\t\tline-height: initial;\n\t\t\t}\n\t\t}\n\n\t\t.mx-calendar-header-label {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t.mx-btn-icon-double-left {\n\t\t\tbackground-image: url('./chevron-double-left.svg');\n\t\t\tbody.theme--dark & {\n\t\t\t\tbackground-image: url('./chevron-double-left-light.svg');\n\t\t\t}\n\t\t}\n\n\t\t.mx-btn-icon-left {\n\t\t\tbackground-image: url('./chevron-left.svg');\n\t\t\tbody.theme--dark & {\n\t\t\t\tbackground-image: url('./chevron-left-light.svg');\n\t\t\t}\n\t\t}\n\n\t\t.mx-btn-icon-right {\n\t\t\tbackground-image: url('./chevron-right.svg');\n\t\t\tbody.theme--dark & {\n\t\t\t\tbackground-image: url('./chevron-right-light.svg');\n\t\t\t}\n\t\t}\n\n\t\t.mx-btn-icon-double-right {\n\t\t\tbackground-image: url('./chevron-double-right.svg');\n\t\t\tbody.theme--dark & {\n\t\t\t\tbackground-image: url('./chevron-double-right-light.svg');\n\t\t\t}\n\t\t}\n\n\t\tbutton.mx-btn-icon-right {\n\t\t\torder: 2;\n\t\t}\n\n\t\tbutton.mx-btn-icon-double-right {\n\t\t\torder: 3;\n\t\t}\n\t}\n\t// Week panel\n\t.mx-calendar-week-mode {\n\t\t// move focus on row and not on cell\n\t\t.mx-date-row {\n\t\t\t.mx-week-number {\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\t\t\t&:hover,\n\t\t\t&.mx-active-week {\n\t\t\t\topacity: $opacity_full;\n\t\t\t\tborder-radius: 50px;\n\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\ttd {\n\t\t\t\t\tbackground-color: transparent;\n\t\t\t\t\t&, &:hover, &:focus {\n\t\t\t\t\t\tcolor: inherit;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t&.mx-active-week {\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\t// Remove cell feedback on selected rows\n\t\t\t\ttd {\n\t\t\t\t\topacity: $opacity_normal;\n\t\t\t\t\tfont-weight: normal;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Time panel\n\t.mx-time {\n\t\tbackground-color: var(--color-main-background);\n\n\t\t.mx-time-header {\n\t\t\t// only one button, center it\n\t\t\tjustify-content: center;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t}\n\n\t\t.mx-time-column {\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\n\t\t.mx-time-option,\n\t\t.mx-time-item {\n\t\t\t&.active,\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t}\n\n\t\t\t&.disabled {\n\t\t\t\tcursor: not-allowed;\n\t\t\t\topacity: $opacity_disabled;\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const N=f},636:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,'.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-18ada6c]{margin:0;padding:0 !important;display:inline-block;min-width:260px;position:relative}.multiselect[data-v-18ada6c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-18ada6c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-18ada6c].multiselect--disabled,.multiselect[data-v-18ada6c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-18ada6c] .loading-icon{position:absolute;right:1px;top:1px;width:48px;height:35px;background:var(--color-main-background);z-index:3}.multiselect[data-v-18ada6c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:2px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:var(--border-radius-large);min-height:44px;height:44px;padding:8px 12px !important;background-color:var(--color-main-background);box-sizing:border-box}.multiselect[data-v-18ada6c] .multiselect__tags:focus,.multiselect[data-v-18ada6c] .multiselect__tags:hover{border-color:var(--color-primary-element)}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;gap:5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:2px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:var(--border-radius);min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:0}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__single,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__placeholder{z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center;font-size:var(--default-font-size)}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__single,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__single *,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__strong,.multiselect[data-v-18ada6c] .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-18ada6c] .multiselect__tags input.multiselect__input{width:100% !important;height:auto !important;margin:0;opacity:0;border:none;cursor:pointer;display:none;height:40px;min-height:26px;padding:0 !important;font-size:var(--default-font-size)}.multiselect[data-v-18ada6c].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-18ada6c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-18ada6c] .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-18ada6c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:rgba(0,0,0,0)}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li,.multiselect[data-v-18ada6c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0);color:var(--color-text-lighter);width:100%}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span::before{content:" ";background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-18ada6c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-18ada6c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-18ada6c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-dark)}.multiselect[data-v-18ada6c].multiselect--multiple .multiselect__content-wrapper li>span[data-select=create]::before{background-image:var(--icon-add-dark);visibility:visible}.multiselect[data-v-18ada6c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-18ada6c]:hover .multiselect__placeholder,.multiselect[data-v-18ada6c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcMultiselect/index.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,6BACC,QAAA,CACA,oBAAA,CACA,oBAAA,CAEA,eAAA,CACA,iBAAA,CAGA,4EACC,UAAA,CACA,oBAAA,CAKA,6FACC,2DAAA,CAKF,2HAEC,wDAAA,CAID,2CACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,uCAAA,CACA,SAAA,CAID,gDAGC,YAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,cAAA,CACA,iBAAA,CACA,wCAAA,CACA,eAAA,CACA,WAAA,CACA,2BAAA,CACA,6CAAA,CACA,qBAAA,CAEA,4GACC,yCAAA,CAID,wEACC,kBAAA,CACA,mBAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,OAzBe,CA0Bf,QAAA,CACA,gBAAA,CAGA,uGACC,oBAAA,CACA,wBAAA,CAIA,sIACC,YAAA,CAIF,0FACC,gBAAA,CACA,eAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,mBAAA,CACA,kBAAA,CACA,kCAAA,CAGA,WAAA,CACA,qBAAA,CACA,0BAAA,CACA,QAAA,CAGA,qGACC,aAAA,CAID,+FACC,kBAAA,CACA,sBAAA,CACA,eAAA,CAOH,+IAEC,SAAA,CACA,6CAAA,CACA,gBAAA,CACA,+BAAA,CAEA,YAAA,CACA,kBAAA,CACA,kCAAA,CAGA,kSACC,cAAA,CAIF,yIAEC,gBAAA,CACA,+BAAA,CACA,mBAAA,CACA,kBAAA,CACA,UClGc,CDmGd,gBAjGe,CAmGf,SAAA,CAGD,yEACC,qBAAA,CACA,sBAAA,CACA,QAAA,CACA,SAAA,CACA,WAAA,CAGA,cAAA,CAEA,YAAA,CACA,WAAA,CACA,eAAA,CACA,oBAAA,CACA,kCAAA,CAQD,0EACC,oBAAA,CACA,sBAAA,CAEA,2DAAA,CACA,wBAAA,CAID,qEACC,YAAA,CAKF,2DACC,iBAAA,CACA,UAAA,CACA,eAAA,CACA,yCAAA,CACA,uCAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,2DAAA,CACA,iFACC,UAAA,CACA,SAAA,CAED,8DACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,8BAAA,CACA,iIAEC,cAAA,CAED,mEACC,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CACA,cAAA,CACA,0BAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,8BAAA,CACA,+BAAA,CACA,UAAA,CAEA,2EACC,WAAA,CACA,2BAAA,CACA,0BAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,UC/Lc,CDgMd,gBAAA,CACA,iBAAA,CAED,iGACC,6CAAA,CACA,UCrMc,CDuMf,kGACC,4BAAA,CACA,6CAAA,CAED,qHACC,UAAA,CAIA,8NACC,kBAAA,CAOL,8EACC,WAAA,CACA,kBAAA,CAMA,sEACC,cAAA,CAIA,iGACC,2CAAA,CAMA,qHACC,qCAAA,CACA,kBAAA,CAOJ,+FACC,YAAA,CAMA,6IACC,4BAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n// scoping is not working inside the Multiselect.vue component\n// as the nested properties are not inside it\n// Therefore we need to use an external scoping\n.multiselect[data-v-#{$scope_version}] {\n\tmargin: 0;\n\tpadding: 0 !important;\n\tdisplay: inline-block;\n\t/* override this rule with your width styling if you need */\n\tmin-width: 260px;\n\tposition: relative;\n\n\t/* Force single multiselect value to be shown when not active */\n\t&:not(.multiselect--active) .multiselect__single {\n\t\twidth: 100%;\n\t\tz-index: 2 !important;\n\t}\n\n\t// Remove radius on top opening\n\t&.multiselect--active.multiselect--above {\n\t\tinput.multiselect__input {\n\t\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t}\n\t}\n\n\t// disabled state background\n\t&.multiselect--disabled,\n\t&.multiselect--disabled .multiselect__single {\n\t\tbackground-color: var(--color-background-dark) !important;\n\t}\n\n\t// loading state\n\t.loading-icon {\n\t\tposition: absolute;\n\t\tright: 1px;\n\t\ttop: 1px;\n\t\twidth: 48px;\n\t\theight: 35px;\n\t\tbackground: var(--color-main-background);\n\t\tz-index: 3;\n\t}\n\n\t// multiple selected options display\n\t.multiselect__tags {\n\t\t/* space between tags and limit tag */\n\t\t$space-between: 5px;\n\t\tdisplay: flex;\n\t\tflex-wrap: nowrap;\n\t\toverflow: hidden;\n\t\tborder: 2px solid var(--color-border-dark);\n\t\tcursor: pointer;\n\t\tposition: relative;\n\t\tborder-radius: var(--border-radius-large);\n\t\tmin-height: 44px;\n\t\theight: 44px;\n\t\tpadding: 8px 12px !important;\n\t\tbackground-color: var(--color-main-background);\n\t\tbox-sizing: border-box;\n\n\t\t&:focus, &:hover {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\n\t\t/* tag wrapper */\n\t\t.multiselect__tags-wrap {\n\t\t\talign-items: center;\n\t\t\tdisplay: inline-flex;\n\t\t\toverflow: hidden;\n\t\t\tmax-width: 100%;\n\t\t\tposition: relative;\n\t\t\tgap: $space-between;\n\t\t\tflex: 1 1;\n\t\t\tflex-wrap: nowrap;\n\t\t\t/* no tags or simple select? Show input directly\n\t\t\tinput is used to display single value */\n\t\t\t&:empty ~ input.multiselect__input {\n\t\t\t\topacity: $opacity_full !important;\n\t\t\t\tdisplay: block !important;\n\t\t\t\t/* hide default empty text like .multiselect__placeholder,\n\t\t\t\tand show input instead. It looks better without a transition between\n\t\t\t\ta span and the input that have different styling */\n\t\t\t\t+ span:not(.multiselect__single) {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\t/* selected tag */\n\t\t\t.multiselect__tag {\n\t\t\t\tline-height: 20px;\n\t\t\t\tpadding: 2px 5px;\n\t\t\t\tbackground-image: none;\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tborder-radius: var(--border-radius);\n\t\t\t\t/* require to override the default width\n\t\t\t\tand force the tag to shring properly */\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: fit-content;\n\t\t\t\tmax-width: -moz-fit-content;\n\t\t\t\tmargin: 0;\n\t\t\t\t/* css hack, detect if more than two tags\n\t\t\t\tif so, flex-basis is set to half */\n\t\t\t\t&:only-child {\n\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t}\n\t\t\t\t/* ellipsis the groups to be sure\n\t\t\t\twe display at least two of them */\n\t\t\t\t> span {\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Single select default value\n\t\tor default placeholder if search disabled*/\n\t\t.multiselect__single,\n\t\t.multiselect__placeholder {\n\t\t\tz-index: 1; /* above input */\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\n\t\t\tcolor: var(--color-text-lighter); // like the input\n\t\t\t// Align content and make the flow smoother\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tfont-size: var(--default-font-size);\n\n\t\t\t// Anything inside will trigger the select opening\n\t\t\t&, * {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t\t/* displayed text if tag limit reached */\n\t\t.multiselect__strong,\n\t\t.multiselect__limit {\n\t\t\tline-height: 20px;\n\t\t\tcolor: var(--color-text-lighter);\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\topacity: $opacity_normal;\n\t\t\tmargin-right: $space-between;\n\t\t\t/* above the input */\n\t\t\tz-index: 5;\n\t\t}\n\t\t/* default multiselect input for search and placeholder */\n\t\tinput.multiselect__input {\n\t\t\twidth: 100% !important;\n\t\t\theight: auto !important;\n\t\t\tmargin: 0;\n\t\t\topacity: 0;\n\t\t\tborder: none;\n\t\t\t/* override hide to force show the placeholder */\n\t\t\t/* only when not active */\n\t\t\tcursor: pointer;\n\t\t\t/* override inline styling of the lib */\n\t\t\tdisplay: none;\n\t\t\theight: 40px;\n\t\t\tmin-height: 26px;\n\t\t\tpadding: 0 !important;\n\t\t\tfont-size: var(--default-font-size);\n\t\t}\n\t}\n\n\t// active state, force the input to be shown, we don't want\n\t// the placeholder or the currently selected options\n\t&.multiselect--active {\n\t\t/* Opened: force display the input */\n\t\tinput.multiselect__input {\n\t\t\topacity: $opacity_full !important;\n\t\t\tcursor: text !important;\n\t\t\t// remove border radius on bottom opening\n\t\t\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t/* multiselect__limit hidden if active */\n\t\t.multiselect__limit {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* results wrapper */\n\t.multiselect__content-wrapper {\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\tmargin-top: -1px;\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tbackground: var(--color-main-background);\n\t\tz-index: 50;\n\t\tmax-height: 250px;\n\t\toverflow-y: auto;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t.multiselect__content {\n\t\t\twidth: 100%;\n\t\t\tpadding: 0;\n\t\t}\n\t\tli {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tbackground-color: transparent;\n\t\t\t&,\n\t\t\tspan {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t> span {\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tmargin: 0;\n\t\t\t\theight: auto;\n\t\t\t\tmin-height: 1em;\n\t\t\t\t-webkit-touch-callout: none;\n\t\t\t\t-webkit-user-select: none;\n\t\t\t\t-moz-user-select: none;\n\t\t\t\t-ms-user-select: none;\n\t\t\t\tuser-select: none;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tcolor: var(--color-text-lighter);\n\t\t\t\twidth: 100%;\n\t\t\t\t/* selected checkmark icon */\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t\tbackground-position: center;\n\t\t\t\t\tmin-width: 16px;\n\t\t\t\t\tmin-height: 16px;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--disabled {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--highlight {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t\t&:not(.multiselect__option--disabled):hover::before {\n\t\t\t\t\topacity: .3;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--selected,\n\t\t\t\t&:not(.multiselect__option--disabled):hover {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tvisibility: visible;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t/* ABOVE display */\n\t&.multiselect--above .multiselect__content-wrapper {\n\t\tbottom: 100%;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t/* Icon before option select */\n\t&.multiselect--multiple {\n\t\t// push the input after the tag list\n\t\t.multiselect__tags {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t.multiselect__content-wrapper li > span {\n\t\t\t&::before {\n\t\t\t\tbackground-image: var(--icon-checkmark-dark);\n\t\t\t}\n\n\t\t\t/* add the prop tag-placeholder=\"create\" to add the +\n\t\t\ticon on top of an unknown-and-ready-to-be-created entry */\n\t\t\t&[data-select='create'] {\n\t\t\t\t&::before {\n\t\t\t\t\tbackground-image: var(--icon-add-dark);\n\t\t\t\t\tvisibility: visible;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* No need for an icon here */\n\t&.multiselect--single .multiselect__content-wrapper li > span::before {\n\t\tdisplay: none;\n\t}\n\n\t/* Mouse feedback */\n\t&:hover,\n\tinput.multiselect__input {\n\t\t.multiselect__placeholder {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},8384:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding: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))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__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)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/directives/Tooltip/index.scss"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCSA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ \n* @copyright Copyright (c) 2016, Robin Appelman \n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \n* @copyright Copyright (c) 2016, Erik Pellikka \n* @copyright Copyright (c) 2015, Vincent Petry \n*\n* Bootstrap (http://getbootstrap.com)\n* SCSS copied from version 3.3.5\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.v-popper--theme-tooltip {\n\t&.v-popper__popper {\n\t\tposition: absolute;\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tright: auto;\n\t\tleft: auto;\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\ttext-align: left;\n\t\ttext-align: start;\n\t\topacity: 0;\n\t\tline-height: 1.6;\n\n\t\tline-break: auto;\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t// TOP\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t// BOTTOM\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t// RIGHT\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tright: 100%;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t// LEFT\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tleft: 100%;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t// HIDDEN / SHOWN\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity .15s, visibility .15s;\n\t\t\topacity: 0;\n\t\t}\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity .15s;\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t// CONTENT\n\t.v-popper__inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.v-popper__arrow-container {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: $arrow-width;\n\t}\n}\n"],sourceRoot:""}]);const s=o},3100:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-1418d792]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-1418d792]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-1418d792]{pointer-events:none;opacity:.5}.action--disabled[data-v-1418d792]:hover,.action--disabled[data-v-1418d792]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-1418d792]{opacity:1 !important}.action-button[data-v-1418d792]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button>span[data-v-1418d792]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-1418d792]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-1418d792] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-1418d792] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-1418d792]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-1418d792]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-1418d792]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CAOF,gCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,qCACC,cAAA,CACA,kBAAA,CAGD,sCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,sDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,iFACC,qBAAA,CAKF,kCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,0CACC,cAAA,CAEA,oBAAA,CAGD,uCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},8584:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.nc-button-group-base>div{text-align:center;color:var(--color-text-maxcontrast)}.nc-button-group-base ul.nc-button-group-content{display:flex;justify-content:space-between}.nc-button-group-base ul.nc-button-group-content li{flex:1 1}.nc-button-group-base ul.nc-button-group-content .action-button{padding:0 !important;width:100%;display:flex;justify-content:center}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActionButtonGroup/NcActionButtonGroup.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLA,0BACC,iBAAA,CACA,mCAAA,CAGD,iDACC,YAAA,CACA,6BAAA,CACA,oDACC,QAAA,CAGD,gEAEC,oBAAA,CACA,UAAA,CACA,YAAA,CACA,sBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.nc-button-group-base {\n\t>div {\n\t\ttext-align: center;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\tul.nc-button-group-content {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tli {\n\t\t\tflex: 1 1;\n\t\t}\n\n\t\t.action-button {\n\t\t\t// Fix action buttons beeing shifted to the left (right padding)\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},7264:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-fd7dc03c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-fd7dc03c]{color:var(--color-text-maxcontrast);line-height:44px;white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-left:12px;padding-right:14px;height:44px;display:flex;align-items:center}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActionCaption/NcActionCaption.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yCACC,mCAAA,CACA,gBCqBgB,CDpBhB,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,gBAAA,CACA,mBAAA,CACA,gBAAA,CACA,kBAAA,CACA,WCagB,CDZhB,YAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-navigation-caption {\n\tcolor: var(--color-text-maxcontrast);\n\tline-height: $clickable-area;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\tbox-shadow: none !important;\n\tuser-select: none;\n\tpointer-events: none;\n\tmargin-left: 12px;\n\tpadding-right: 14px;\n\theight: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},8666:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-e50b8bcc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-e50b8bcc]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-e50b8bcc]{pointer-events:none;opacity:.5}.action--disabled[data-v-e50b8bcc]:hover,.action--disabled[data-v-e50b8bcc]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-e50b8bcc]{opacity:1 !important}.action-checkbox[data-v-e50b8bcc]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;line-height:44px}.action-checkbox__checkbox[data-v-e50b8bcc]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__label[data-v-e50b8bcc]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important}.action-checkbox__label[data-v-e50b8bcc]::before{margin:0 14px 0 !important}.action-checkbox--disabled[data-v-e50b8bcc],.action-checkbox--disabled .action-checkbox__label[data-v-e50b8bcc]{cursor:pointer}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss","webpack://./src/components/NcActionCheckbox/NcActionCheckbox.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CEpCH,kCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,gBAAA,CAGA,4CACC,iBAAA,CACA,QAAA,CACA,aAAA,CAEA,eAAA,CAEA,SAAA,CACA,UAAA,CAGD,yCACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,oBAAA,CACA,6BAAA,CAIA,iDACC,0BAAA,CAKD,gHAEC,cAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n\n.action-checkbox {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\tline-height: $clickable-area;\n\n\t/* checkbox/radio fixes */\n\t&__checkbox {\n\t\tposition: absolute;\n\t\ttop: auto;\n\t\tleft: -10000px;\n\n\t\toverflow: hidden;\n\n\t\twidth: 1px;\n\t\theight: 1px;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\talign-items: center; // align checkbox to text\n\n\t\twidth: 100%;\n\t\tpadding: 0 !important;\n\t\tpadding-right: $icon-margin !important;\n\n\t\t// checkbox-width is 12px, border is 2\n\t\t// (44 - 14 - 2) / 2 = 14\n\t\t&::before {\n\t\t\tmargin: 0 14px 0 !important;\n\t\t}\n\t}\n\n\t&--disabled {\n\t\t&,\n\t\t.action-checkbox__label {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},5195:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-4faf3d66]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-4faf3d66]:not(.button-vue),input[data-v-4faf3d66]:not([type=range]),textarea[data-v-4faf3d66]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-4faf3d66]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-4faf3d66]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-4faf3d66],input[data-v-4faf3d66]:not([type=range]):not(:disabled):not(.primary):hover,input[data-v-4faf3d66]:not([type=range]):not(:disabled):not(.primary):focus,input:not([type=range]):not(:disabled):not(.primary).active[data-v-4faf3d66],textarea[data-v-4faf3d66]:not(:disabled):not(.primary):hover,textarea[data-v-4faf3d66]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-4faf3d66]{border-color:var(--color-primary-element);outline:none}button[data-v-4faf3d66]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-4faf3d66]:not([type=range]):not(:disabled):not(.primary):active,textarea[data-v-4faf3d66]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-4faf3d66]:not(.button-vue):disabled,input[data-v-4faf3d66]:not([type=range]):disabled,textarea[data-v-4faf3d66]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-4faf3d66]:not(.button-vue):required,input[data-v-4faf3d66]:not([type=range]):required,textarea[data-v-4faf3d66]:required{box-shadow:none}button[data-v-4faf3d66]:not(.button-vue):invalid,input[data-v-4faf3d66]:not([type=range]):invalid,textarea[data-v-4faf3d66]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-4faf3d66],input:not([type=range]).primary[data-v-4faf3d66],textarea.primary[data-v-4faf3d66]{cursor:pointer;color:var(--color-primary-element-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-4faf3d66]:not(:disabled):hover,button:not(.button-vue).primary[data-v-4faf3d66]:not(:disabled):focus,button:not(.button-vue).primary[data-v-4faf3d66]:not(:disabled):active,input:not([type=range]).primary[data-v-4faf3d66]:not(:disabled):hover,input:not([type=range]).primary[data-v-4faf3d66]:not(:disabled):focus,input:not([type=range]).primary[data-v-4faf3d66]:not(:disabled):active,textarea.primary[data-v-4faf3d66]:not(:disabled):hover,textarea.primary[data-v-4faf3d66]:not(:disabled):focus,textarea.primary[data-v-4faf3d66]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-4faf3d66]:not(:disabled):active,input:not([type=range]).primary[data-v-4faf3d66]:not(:disabled):active,textarea.primary[data-v-4faf3d66]:not(:disabled):active{color:var(--color-primary-element-text-dark)}button:not(.button-vue).primary[data-v-4faf3d66]:disabled,input:not([type=range]).primary[data-v-4faf3d66]:disabled,textarea.primary[data-v-4faf3d66]:disabled{cursor:default;color:var(--color-primary-element-text-dark);background-color:var(--color-primary-element)}li.active[data-v-4faf3d66]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-4faf3d66]{pointer-events:none;opacity:.5}.action--disabled[data-v-4faf3d66]:hover,.action--disabled[data-v-4faf3d66]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-4faf3d66]{opacity:1 !important}.action-input[data-v-4faf3d66]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal}.action-input__icon-wrapper[data-v-4faf3d66]{display:flex;align-self:center;align-items:center;justify-content:center}.action-input__icon-wrapper[data-v-4faf3d66] .material-design-icon{width:44px;height:44px;opacity:1}.action-input__icon-wrapper[data-v-4faf3d66] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input>span[data-v-4faf3d66]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-4faf3d66]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-input__form[data-v-4faf3d66]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:14px}.action-input__container[data-v-4faf3d66]{width:100%}.action-input__input-container[data-v-4faf3d66]{display:flex}.action-input__input-container .colorpicker__trigger[data-v-4faf3d66],.action-input__input-container .colorpicker__preview[data-v-4faf3d66]{width:100%}.action-input__input-container .colorpicker__preview[data-v-4faf3d66]{width:100%;height:36px;border-radius:var(--border-radius-large);border:2px solid var(--color-border-maxcontrast);box-shadow:none !important}.action-input__text-label[data-v-4faf3d66]{padding:4px 0;display:block}.action-input__text-label--hidden[data-v-4faf3d66]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__datetimepicker[data-v-4faf3d66]{width:100%}.action-input__datetimepicker[data-v-4faf3d66] .mx-input{margin:0}.action-input__multi[data-v-4faf3d66]{width:100%}li:last-child>.action-input[data-v-4faf3d66]{padding-bottom:10px}li:first-child>.action-input[data-v-4faf3d66]:not(.action-input--visible-label){padding-top:10px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/inputs.scss","webpack://./src/assets/variables.scss","webpack://./src/assets/action.scss","webpack://./src/components/NcActionInput/NcActionInput.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCqBD,4GAGC,QAAA,CACA,eAAA,CAEA,WAAA,CAEA,+BAAA,CACA,yCAAA,CACA,kCAAA,CACA,YAAA,CACA,6CAAA,CAEA,cAAA,CAGC,koBAIC,yCAAA,CACA,YAAA,CAGD,wNACC,6BAAA,CACA,YAAA,CACA,6CAAA,CAIF,uIACC,cAAA,CACA,UCrBiB,CDsBjB,mCAAA,CACA,6CAAA,CAGD,uIACC,eAAA,CAGD,oIACC,+BAAA,CACA,0BAAA,CAID,oIACC,cAAA,CACA,uCAAA,CACA,yCAAA,CACA,6CAAA,CAGC,4kBAGC,+CAAA,CACA,mDAAA,CAED,sMACC,4CAAA,CAIF,+JACC,cAAA,CACA,4CAAA,CAEA,6CAAA,CE3ED,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UDMiB,CCLjB,kFACC,cAAA,CACA,UDGgB,CCDjB,qCACC,oBAAA,CCjCH,+BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CAEA,6CACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,mEACC,UFXc,CEYd,WFZc,CEad,SFMY,CEJZ,8FACC,qBAAA,CAKH,oCACC,cAAA,CACA,kBAAA,CAGD,qCACC,WAAA,CACA,YAAA,CAGA,wBAAA,CAEA,+BAAA,CACA,oBF9BU,CEkCX,qCACC,YAAA,CACA,kBAAA,CACA,aAAA,CAEA,YAAA,CACA,kBFpCY,CEuCb,0CACC,UAAA,CAGD,gDACC,YAAA,CAGC,4IAEC,UAAA,CAGD,sEACC,UAAA,CACA,WAAA,CACA,wCAAA,CACA,gDAAA,CACA,0BAAA,CAKH,2CACC,aAAA,CACA,aAAA,CAEA,mDACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,+CACC,UAAA,CAEA,yDACC,QAAA,CAIF,sCACC,UAAA,CAOF,6CACC,mBAAA,CAID,gFACC,gBAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n\n/* Default global values */\nbutton:not(.button-vue),\ninput:not([type='range']),\ntextarea {\n\tmargin: 0;\n\tpadding: 7px 6px;\n\n\tcursor: text;\n\n\tcolor: var(--color-text-lighter);\n\tborder: 1px solid var(--color-border-dark);\n\tborder-radius: var(--border-radius);\n\toutline: none;\n\tbackground-color: var(--color-main-background);\n\n\tfont-size: 13px;\n\n\t&:not(:disabled):not(.primary) {\n\t\t&:hover,\n\t\t&:focus,\n\t\t&.active {\n\t\t\t/* active class used for multiselect */\n\t\t\tborder-color: var(--color-primary-element);\n\t\t\toutline: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tcolor: var(--color-text-light);\n\t\t\toutline: none;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t}\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\topacity: $opacity_disabled;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&:required {\n\t\tbox-shadow: none;\n\t}\n\n\t&:invalid {\n\t\tborder-color: var(--color-error);\n\t\tbox-shadow: none !important;\n\t}\n\n\t/* Primary action button, use sparingly */\n\t&.primary {\n\t\tcursor: pointer;\n\t\tcolor: var(--color-primary-element-text);\n\t\tborder-color: var(--color-primary-element);\n\t\tbackground-color: var(--color-primary-element);\n\n\t\t&:not(:disabled) {\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t\t}\n\t\t\t&:active {\n\t\t\t\tcolor: var(--color-primary-element-text-dark);\n\t\t\t}\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t\tcolor: var(--color-primary-element-text-dark);\n\t\t\t// opacity is already defined to .5 if disabled\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n@import '../../assets/inputs';\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n\n$input-margin: 4px;\n\n.action-input {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\n\t&__icon-wrapper {\n\t\tdisplay: flex;\n\t\talign-self: center;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > span {\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t}\n\n\t&__icon {\n\t\tmin-width: 0; /* Overwrite icons*/\n\t\tmin-height: 0;\n\t\t/* Keep padding to define the width to\n\t\t\tassure correct position of a possible text */\n\t\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\n\n\t\tbackground-position: #{$icon-margin} center;\n\t\tbackground-size: $icon-size;\n\t}\n\n\t// Forms & text inputs\n\t&__form {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 auto;\n\n\t\tmargin: $input-margin 0;\n\t\tpadding-right: $icon-margin;\n\t}\n\n\t&__container {\n\t\twidth: 100%;\n\t}\n\n\t&__input-container {\n\t\tdisplay: flex;\n\n\t\t.colorpicker {\n\t\t\t&__trigger,\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 36px;\n\t\t\t\tborder-radius: var(--border-radius-large);\n\t\t\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\t\t\tbox-shadow: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__text-label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tleft: -10000px;\n\t\t\ttop: auto;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t&__datetimepicker {\n\t\twidth: 100%;\n\n\t\t:deep(.mx-input) {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t&__multi {\n\t\twidth: 100%;\n\t}\n}\n\n// if a form is the last of the list\n// add the same bottomMargin as the right padding\n// for visual balance\nli:last-child > .action-input {\n\tpadding-bottom: $icon-margin - $input-margin;\n}\n\n// same for first item\nli:first-child > .action-input:not(.action-input--visible-label) {\n\tpadding-top: $icon-margin - $input-margin;\n}\n\n"],sourceRoot:""}]);const s=o},4953:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-4c8a3330]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-4c8a3330]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-link[data-v-4c8a3330]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link>span[data-v-4c8a3330]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-4c8a3330]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-4c8a3330] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-4c8a3330] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-4c8a3330]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-4c8a3330]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-4c8a3330]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,8BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,mCACC,cAAA,CACA,kBAAA,CAGD,oCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,oDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,+EACC,qBAAA,CAKF,gCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,wCACC,cAAA,CAEA,oBAAA,CAGD,qCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},3069:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-04bdccb2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-04bdccb2]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-04bdccb2]{pointer-events:none;opacity:.5}.action--disabled[data-v-04bdccb2]:hover,.action--disabled[data-v-04bdccb2]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-04bdccb2]{opacity:1 !important}.action-radio[data-v-04bdccb2]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;line-height:44px}.action-radio__radio[data-v-04bdccb2]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__label[data-v-04bdccb2]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important}.action-radio__label[data-v-04bdccb2]::before{margin:0 14px 0 !important}.action-radio--disabled[data-v-04bdccb2],.action-radio--disabled .action-radio__label[data-v-04bdccb2]{cursor:pointer}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss","webpack://./src/components/NcActionRadio/NcActionRadio.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CEpCH,+BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,gBAAA,CAGA,sCACC,iBAAA,CACA,QAAA,CACA,aAAA,CAEA,eAAA,CAEA,SAAA,CACA,UAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,oBAAA,CACA,6BAAA,CAIA,8CACC,0BAAA,CAKD,uGAEC,cAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n\n.action-radio {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\tline-height: $clickable-area;\n\n\t/* checkbox/radio fixes */\n\t&__radio {\n\t\tposition: absolute;\n\t\ttop: auto;\n\t\tleft: -10000px;\n\n\t\toverflow: hidden;\n\n\t\twidth: 1px;\n\t\theight: 1px;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\talign-items: center; // align radio to text\n\n\t\twidth: 100%;\n\t\tpadding: 0 !important;\n\t\tpadding-right: $icon-margin !important;\n\n\t\t// radio-width is 12px, border is 2\n\t\t// (44 - 14 - 2) / 2 = 14\n\t\t&::before {\n\t\t\tmargin: 0 14px 0 !important;\n\t\t}\n\t}\n\n\t&--disabled {\n\t\t&,\n\t\t.action-radio__label {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},2180:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-ab5e8848]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-ab5e8848]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-router[data-v-ab5e8848]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-router>span[data-v-ab5e8848]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-ab5e8848]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-ab5e8848] .material-design-icon{width:44px;height:44px;opacity:1}.action-router[data-v-ab5e8848] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router p[data-v-ab5e8848]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-ab5e8848]{cursor:pointer;white-space:pre-wrap}.action-router__title[data-v-ab5e8848]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-ab5e8848]{pointer-events:none;opacity:.5}.action--disabled[data-v-ab5e8848]:hover,.action--disabled[data-v-ab5e8848]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ab5e8848]{opacity:1 !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,gCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,qCACC,cAAA,CACA,kBAAA,CAGD,sCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,sDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,iFACC,qBAAA,CAKF,kCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,0CACC,cAAA,CAEA,oBAAA,CAGD,uCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA,CA3FF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},1474:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-a1812d84]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-separator[data-v-a1812d84]{height:0;margin:5px 10px 5px 15px;border-bottom:1px solid var(--color-border-dark);cursor:default}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActionSeparator/NcActionSeparator.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,QAAA,CACA,wBAAA,CACA,gDAAA,CACA,cAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.action-separator {\n\theight: 0;\n\tmargin: 5px 10px 5px 15px;\n\tborder-bottom: 1px solid var(--color-border-dark);\n\tcursor: default;\n}\n"],sourceRoot:""}]);const s=o},9869:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-cdd04674]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-cdd04674]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-text[data-v-cdd04674]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-text>span[data-v-cdd04674]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-cdd04674]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-cdd04674] .material-design-icon{width:44px;height:44px;opacity:1}.action-text[data-v-cdd04674] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text p[data-v-cdd04674]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-cdd04674]{cursor:pointer;white-space:pre-wrap}.action-text__title[data-v-cdd04674]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-cdd04674]{pointer-events:none;opacity:.5}.action--disabled[data-v-cdd04674]:hover,.action--disabled[data-v-cdd04674]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-cdd04674]{opacity:1 !important}.action-text[data-v-cdd04674],.action-text span[data-v-cdd04674]{cursor:default}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss","webpack://./src/components/NcActionText/NcActionText.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,8BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,mCACC,cAAA,CACA,kBAAA,CAGD,oCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,oDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,+EACC,qBAAA,CAKF,gCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,wCACC,cAAA,CAEA,oBAAA,CAGD,qCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA,CA3FF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CElCF,iEAEC,cAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n@import '../../assets/action';\n@include action-active;\n@include action-item('text');\n@include action--disabled;\n\n.action-text {\n\t&,\n\tspan {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]);const s=o},9658:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-98e16ffe]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-98e16ffe]:not(.button-vue),input[data-v-98e16ffe]:not([type=range]),textarea[data-v-98e16ffe]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-98e16ffe]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-98e16ffe]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-98e16ffe],input[data-v-98e16ffe]:not([type=range]):not(:disabled):not(.primary):hover,input[data-v-98e16ffe]:not([type=range]):not(:disabled):not(.primary):focus,input:not([type=range]):not(:disabled):not(.primary).active[data-v-98e16ffe],textarea[data-v-98e16ffe]:not(:disabled):not(.primary):hover,textarea[data-v-98e16ffe]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-98e16ffe]{border-color:var(--color-primary-element);outline:none}button[data-v-98e16ffe]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-98e16ffe]:not([type=range]):not(:disabled):not(.primary):active,textarea[data-v-98e16ffe]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-98e16ffe]:not(.button-vue):disabled,input[data-v-98e16ffe]:not([type=range]):disabled,textarea[data-v-98e16ffe]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-98e16ffe]:not(.button-vue):required,input[data-v-98e16ffe]:not([type=range]):required,textarea[data-v-98e16ffe]:required{box-shadow:none}button[data-v-98e16ffe]:not(.button-vue):invalid,input[data-v-98e16ffe]:not([type=range]):invalid,textarea[data-v-98e16ffe]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-98e16ffe],input:not([type=range]).primary[data-v-98e16ffe],textarea.primary[data-v-98e16ffe]{cursor:pointer;color:var(--color-primary-element-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-98e16ffe]:not(:disabled):hover,button:not(.button-vue).primary[data-v-98e16ffe]:not(:disabled):focus,button:not(.button-vue).primary[data-v-98e16ffe]:not(:disabled):active,input:not([type=range]).primary[data-v-98e16ffe]:not(:disabled):hover,input:not([type=range]).primary[data-v-98e16ffe]:not(:disabled):focus,input:not([type=range]).primary[data-v-98e16ffe]:not(:disabled):active,textarea.primary[data-v-98e16ffe]:not(:disabled):hover,textarea.primary[data-v-98e16ffe]:not(:disabled):focus,textarea.primary[data-v-98e16ffe]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-98e16ffe]:not(:disabled):active,input:not([type=range]).primary[data-v-98e16ffe]:not(:disabled):active,textarea.primary[data-v-98e16ffe]:not(:disabled):active{color:var(--color-primary-element-text-dark)}button:not(.button-vue).primary[data-v-98e16ffe]:disabled,input:not([type=range]).primary[data-v-98e16ffe]:disabled,textarea.primary[data-v-98e16ffe]:disabled{cursor:default;color:var(--color-primary-element-text-dark);background-color:var(--color-primary-element)}li.active[data-v-98e16ffe]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-98e16ffe]{pointer-events:none;opacity:.5}.action--disabled[data-v-98e16ffe]:hover,.action--disabled[data-v-98e16ffe]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-98e16ffe]{opacity:1 !important}.action-text-editable[data-v-98e16ffe]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;line-height:44px}.action-text-editable>span[data-v-98e16ffe]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-98e16ffe]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-text-editable[data-v-98e16ffe] .material-design-icon{width:44px;height:44px;opacity:1}.action-text-editable[data-v-98e16ffe] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text-editable__form[data-v-98e16ffe]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:14px}.action-text-editable__submit[data-v-98e16ffe]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-98e16ffe]{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;bottom:1px;width:36px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-98e16ffe],.action-text-editable__label *[data-v-98e16ffe]{cursor:pointer}.action-text-editable__textarea[data-v-98e16ffe]{flex:1 1 auto;color:inherit;border-color:var(--color-border-maxcontrast);min-height:80px;max-height:124px;min-width:176px;width:100% !important;margin:0}.action-text-editable__textarea[data-v-98e16ffe]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-98e16ffe]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-98e16ffe]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-98e16ffe]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-98e16ffe]:focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-98e16ffe],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-98e16ffe],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-98e16ffe]{z-index:2;border-color:var(--color-primary-element);border-left-color:rgba(0,0,0,0)}li:last-child>.action-text-editable[data-v-98e16ffe]{margin-bottom:10px}li:first-child>.action-text-editable[data-v-98e16ffe]{margin-top:10px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/inputs.scss","webpack://./src/assets/variables.scss","webpack://./src/assets/action.scss","webpack://./src/components/NcActionTextEditable/NcActionTextEditable.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCqBD,4GAGC,QAAA,CACA,eAAA,CAEA,WAAA,CAEA,+BAAA,CACA,yCAAA,CACA,kCAAA,CACA,YAAA,CACA,6CAAA,CAEA,cAAA,CAGC,koBAIC,yCAAA,CACA,YAAA,CAGD,wNACC,6BAAA,CACA,YAAA,CACA,6CAAA,CAIF,uIACC,cAAA,CACA,UCrBiB,CDsBjB,mCAAA,CACA,6CAAA,CAGD,uIACC,eAAA,CAGD,oIACC,+BAAA,CACA,0BAAA,CAID,oIACC,cAAA,CACA,uCAAA,CACA,yCAAA,CACA,6CAAA,CAGC,4kBAGC,+CAAA,CACA,mDAAA,CAED,sMACC,4CAAA,CAIF,+JACC,cAAA,CACA,4CAAA,CAEA,6CAAA,CE3ED,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UDMiB,CCLjB,kFACC,cAAA,CACA,UDGgB,CCDjB,qCACC,oBAAA,CCjCH,uCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,gBFHgB,CEKhB,4CACC,cAAA,CACA,kBAAA,CAGD,6CACC,WAAA,CACA,YAAA,CAGA,wBAAA,CAEA,+BAAA,CACA,oBFdU,CEiBX,6DACC,UFtBe,CEuBf,WFvBe,CEwBf,SFLa,CEOb,wFACC,qBAAA,CAKF,6CACC,YAAA,CACA,aAAA,CACA,qBAAA,CAEA,iBAAA,CACA,YAAA,CACA,kBF/BY,CEkCb,+CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAGD,8CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,iBAAA,CACA,UAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,QAAA,CACA,eAAA,CAEA,QAAA,CACA,iBAAA,CAEA,6CAAA,CACA,2BAAA,CAEA,8FACC,cAAA,CAKF,iDACC,aAAA,CACA,aAAA,CACA,4CAAA,CAEA,eAAA,CACA,gBAAA,CAEA,eAAA,CACA,qBAAA,CACA,QAAA,CAGA,0DACC,cAAA,CAMC,2HACC,mCAAA,CAID,yZAGC,6CAAA,CACA,uCAAA,CAOF,0SAEC,SAAA,CAEA,yCAAA,CACA,+BAAA,CASJ,qDACC,kBAAA,CAID,sDACC,eAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n\n/* Default global values */\nbutton:not(.button-vue),\ninput:not([type='range']),\ntextarea {\n\tmargin: 0;\n\tpadding: 7px 6px;\n\n\tcursor: text;\n\n\tcolor: var(--color-text-lighter);\n\tborder: 1px solid var(--color-border-dark);\n\tborder-radius: var(--border-radius);\n\toutline: none;\n\tbackground-color: var(--color-main-background);\n\n\tfont-size: 13px;\n\n\t&:not(:disabled):not(.primary) {\n\t\t&:hover,\n\t\t&:focus,\n\t\t&.active {\n\t\t\t/* active class used for multiselect */\n\t\t\tborder-color: var(--color-primary-element);\n\t\t\toutline: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tcolor: var(--color-text-light);\n\t\t\toutline: none;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t}\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\topacity: $opacity_disabled;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&:required {\n\t\tbox-shadow: none;\n\t}\n\n\t&:invalid {\n\t\tborder-color: var(--color-error);\n\t\tbox-shadow: none !important;\n\t}\n\n\t/* Primary action button, use sparingly */\n\t&.primary {\n\t\tcursor: pointer;\n\t\tcolor: var(--color-primary-element-text);\n\t\tborder-color: var(--color-primary-element);\n\t\tbackground-color: var(--color-primary-element);\n\n\t\t&:not(:disabled) {\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t\t}\n\t\t\t&:active {\n\t\t\t\tcolor: var(--color-primary-element-text-dark);\n\t\t\t}\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t\tcolor: var(--color-primary-element-text-dark);\n\t\t\t// opacity is already defined to .5 if disabled\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n@import '../../assets/inputs';\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n\n$input-margin: 4px;\n\n.action-text-editable {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\tline-height: $clickable-area;\n\n\t& > span {\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t}\n\n\t&__icon {\n\t\tmin-width: 0; /* Overwrite icons*/\n\t\tmin-height: 0;\n\t\t/* Keep padding to define the width to\n\t\t\tassure correct position of a possible text */\n\t\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\n\n\t\tbackground-position: #{$icon-margin} center;\n\t\tbackground-size: $icon-size;\n\t}\n\n\t&:deep(.material-design-icon) {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_full;\n\n\t\t.material-design-icon__svg {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t// Forms & text inputs\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex: 1 1 auto;\n\t\tflex-direction: column;\n\n\t\tposition: relative;\n\t\tmargin: $input-margin 0;\n\t\tpadding-right: $icon-margin;\n\t}\n\n\t&__submit {\n\t\tposition: absolute;\n\t\tleft: -10000px;\n\t\ttop: auto;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\toverflow: hidden;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t// bottom-right corner\n\t\tposition: absolute;\n\t\tright: $icon-margin + 1;\n\t\tbottom: 1px;\n\t\twidth: #{$clickable-area - $input-margin * 2};\n\t\theight: #{$clickable-area - $input-margin * 2};\n\t\tbox-sizing: border-box;\n\t\tmargin: 0;\n\t\tpadding: 7px 6px;\n\n\t\tborder: 0;\n\t\tborder-radius: 50%;\n\t\t/* Avoid background under border */\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-clip: padding-box;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t/* Inputs inside popover supports text, submit & reset */\n\t&__textarea {\n\t\tflex: 1 1 auto;\n\t\tcolor: inherit;\n\t\tborder-color: var(--color-border-maxcontrast);\n\n\t\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\n\t\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\n\t\t// block width widening\n\t\tmin-width: $clickable-area * 4;\n\t\twidth: 100% !important;\n\t\tmargin: 0;\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t/* only show confirm borders if input is not focused */\n\t\t&:not(:active):not(:hover):not(:focus) {\n\t\t\t&:invalid {\n\t\t\t\t& + .action-text-editable__label {\n\t\t\t\t\tbackground-color: var(--color-error);\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:not(:disabled) + .action-text-editable__label {\n\t\t\t\t&:active,\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:active,\n\t\t&:hover,\n\t\t&:focus {\n\t\t\t&:not(:disabled) + .action-text-editable__label {\n\t\t\t\t/* above previous input */\n\t\t\t\tz-index: 2;\n\n\t\t\t\tborder-color: var(--color-primary-element);\n\t\t\t\tborder-left-color: transparent;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// if a form is the last of the list\n// add the same bottomMargin as the right padding\n// for visual balance\nli:last-child > .action-text-editable {\n\tmargin-bottom: $icon-margin - $input-margin;\n}\n\n// same for first item\nli:first-child > .action-text-editable {\n\tmargin-top: $icon-margin - $input-margin;\n}\n\n"],sourceRoot:""}]);const s=o},9886:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-657486e3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-657486e3]{display:flex;align-items:center}.action-items>button[data-v-657486e3]{margin-right:7px}.action-item[data-v-657486e3]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-657486e3]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-657486e3]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-657486e3]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-657486e3]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-657486e3]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-657486e3]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-657486e3]{background-color:var(--open-background-color)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// Inline buttons\n.action-items {\n\tdisplay: flex;\n\talign-items: center;\n\n\t// Spacing between buttons\n\t& > button {\n\t\tmargin-right: math.div($icon-margin, 2);\n\t}\n}\n\n.action-item {\n\t--open-background-color: var(--color-background-hover, $action-background-hover);\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--primary {\n\t\t--open-background-color: var(--color-primary-element-hover);\n\t}\n\n\t&.action-item--secondary {\n\t\t--open-background-color: var(--color-primary-element-light-hover);\n\t}\n\n\t&.action-item--error {\n\t\t--open-background-color: var(--color-error-hover);\n\t}\n\n\t&.action-item--warning {\n\t\t--open-background-color: var(--color-warning-hover);\n\t}\n\n\t&.action-item--success {\n\t\t--open-background-color: var(--color-success-hover);\n\t}\n\n\t&.action-item--tertiary-no-background {\n\t\t--open-background-color: transparent;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\tbackground-color: var(--open-background-color);\n\t}\n}\n"],sourceRoot:""}]);const s=o},4214:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\toverflow:hidden;\n\n\t.v-popper__inner {\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 4px;\n\t\tmax-height: calc(50vh - 16px);\n\t\toverflow: auto;\n\t}\n}\n"],sourceRoot:""}]);const s=o},9985:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-6d2075e4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-6d2075e4]{position:initial;z-index:1000;flex-basis:100vw;height:100%;margin:0 !important;background-color:var(--color-main-background);min-width:0;--topbar-margin: 4px}.app-content[data-v-6d2075e4]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-6d2075e4]{position:relative;width:100%;height:100%}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-6d2075e4] .app-content-list{display:flex}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-6d2075e4] .app-content-details{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-6d2075e4] .app-content-list{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-6d2075e4] .app-content-details{display:block}[data-v-6d2075e4] .splitpanes.default-theme .app-content-list{max-width:none}[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__pane{background-color:rgba(0,0,0,0);transition:none}[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:sticky;top:var(--header-height)}@media only screen and (width < 1024px){[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (width < 1024px){[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__splitter{width:9px;margin-left:-5px;background-color:rgba(0,0,0,0);border-left:none}[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-6d2075e4] .splitpanes.default-theme .splitpanes__splitter:after{display:none}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppContent/NcAppContent.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,gBAAA,CACA,YAAA,CACA,gBAAA,CACA,WAAA,CAEA,mBAAA,CACA,6CAAA,CACA,WAAA,CAQA,oBAAA,CANA,0DACC,aAAA,CAQF,sCACC,iBAAA,CACA,UAAA,CACA,WAAA,CAMC,gGACC,YAAA,CAED,mGACC,YAAA,CAID,mGACC,YAAA,CAED,sGACC,aAAA,CAMF,8DACC,cAAA,CAGD,8DACC,8BAAA,CACA,eAAA,CAEA,mEACC,eAAA,CACA,eAAA,CACA,wBAAA,CAEA,wCALD,mEAME,YAAA,CAAA,CAIF,sEACC,eAAA,CAEA,wCAHD,sEAIE,cAAA,CAAA,CAKH,kEACC,SAAA,CACA,gBAAA,CACA,8BAAA,CACA,gBAAA,CAEA,iJAEC,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.app-content {\n\tposition: initial;\n\tz-index: 1000;\n\tflex-basis: 100vw;\n\theight: 100%;\n\t// Overriding server styles TODO: cleanup!\n\tmargin: 0 !important;\n\tbackground-color: var(--color-main-background);\n\tmin-width: 0;\n\n\t&:not(.app-content--has-list) {\n\t\toverflow: auto;\n\t}\n\n\t// Variables\n\t// the whitespace between the topbar content and its edges\n\t--topbar-margin: #{$topbar-margin};\n}\n\n.app-content-wrapper {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n// Mobile list/details handling\n.app-content-wrapper--mobile {\n\t&.app-content-wrapper--show-list :deep() {\n\t\t.app-content-list {\n\t\t\tdisplay: flex;\n\t\t}\n\t\t.app-content-details {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t&.app-content-wrapper--show-details :deep() {\n\t\t.app-content-list {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.app-content-details {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n:deep(.splitpanes.default-theme) {\n\t.app-content-list {\n\t\tmax-width: none;\n\t}\n\n\t.splitpanes__pane {\n\t\tbackground-color: transparent;\n\t\ttransition: none;\n\n\t\t&-list {\n\t\t\tmin-width: 300px;\n\t\t\tposition: sticky;\n\t\t\ttop: var(--header-height);\n\n\t\t\t@media only screen and (width < $breakpoint-mobile) {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\n\t\t&-details {\n\t\t\toverflow-y: auto;\n\n\t\t\t@media only screen and (width < $breakpoint-mobile) {\n\t\t\t\tmin-width: 100%;\n\t\t\t}\n\t\t}\n\t}\n\n\t.splitpanes__splitter {\n\t\twidth: 9px;\n\t\tmargin-left: -5px;\n\t\tbackground-color: transparent;\n\t\tborder-left: none;\n\n\t\t&:before,\n\t\t&:after {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},5194:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-45131f51]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-45131f51]{position:fixed;width:44px;height:44px;padding:14px;cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000}.app-details-toggle[data-v-45131f51]:active,.app-details-toggle[data-v-45131f51]:hover,.app-details-toggle[data-v-45131f51]:focus{opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppContent/NcAppDetailsToggle.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,qCACC,cAAA,CACA,UCqBgB,CDpBhB,WCoBgB,CDnBhB,YC2Ba,CD1Bb,cAAA,CACA,UAAA,CACA,wBAAA,CACA,6CAAA,CACA,YAAA,CAEA,kIAGC,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-details-toggle {\n\tposition: fixed;\n\twidth: $clickable-area;\n\theight: $clickable-area;\n\tpadding: $icon-margin;\n\tcursor: pointer;\n\topacity: .6;\n\ttransform: rotate(180deg);\n\tbackground-color: var(--color-main-background);\n\tz-index: 2000;\n\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\topacity: 1;\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},7311:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-2dae457c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-2dae457c]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;position:relative;top:0;left:0;padding:0px;z-index:1800;height:100%;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-grow:0;flex-shrink:0;background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}.app-navigation--close[data-v-2dae457c]{transform:translateX(-100%);position:absolute}.app-navigation__content>ul[data-v-2dae457c],.app-navigation__list[data-v-2dae457c]{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:calc(var(--default-grid-baseline, 4px)*2)}.app-navigation__content[data-v-2dae457c]{height:100%;display:flex;flex-direction:column}[data-themes*=highcontrast] .app-navigation[data-v-2dae457c]{border-right:1px solid var(--color-border)}@media only screen and (max-width: 1024px){.app-navigation[data-v-2dae457c]:not(.app-navigation--close){position:absolute}}@media only screen and (max-width: 768px){.app-navigation[data-v-2dae457c]{z-index:1400}}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigation/NcAppNavigation.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,iCAGC,8GAAA,CAEA,yEAAA,CACA,WC6CkB,CD5ClB,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CAEA,YAAA,CACA,WAAA,CACA,qBAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,WAAA,CACA,aAAA,CACA,gFAAA,CACA,2DAAA,CACA,mDAAA,CAEA,wCACC,2BAAA,CACA,iBAAA,CAID,oFAEC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,eAAA,CACA,qBAAA,CACA,YAAA,CACA,qBAAA,CACA,qCAAA,CACA,iDAAA,CAED,0CACC,WAAA,CACA,YAAA,CACA,qBAAA,CAMD,6DACC,0CAAA,CAKF,2CACC,6DACC,iBAAA,CAAA,CAKF,0CACC,iCACC,YAAA,CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-navigation {\n\t// Set scoped variable override\n\t// Using --color-text-maxcontrast as a fallback evaluates to an invalid value as it references itself in this scope instead of the variable defined higher up\n\t--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));\n\n\ttransition: transform var(--animation-quick), margin var(--animation-quick);\n\twidth: $navigation-width;\n\tposition: relative;\n\ttop: 0;\n\tleft: 0;\n\tpadding: 0px;\n\t// Above appcontent\n\tz-index: 1800;\n\theight: 100%;\n\tbox-sizing: border-box;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tbackground-color: var(--color-main-background-blur, var(--color-main-background));\n\t-webkit-backdrop-filter: var(--filter-background-blur, none);\n\tbackdrop-filter: var(--filter-background-blur, none);\n\n\t&--close {\n\t\ttransform: translateX(-100%);\n\t\tposition: absolute;\n\t}\n\n\t//list of navigation items\n\t&__content > ul,\n\t&__list {\n\t\tposition: relative;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\tbox-sizing: border-box;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: var(--default-grid-baseline, 4px);\n\t\tpadding: calc(var(--default-grid-baseline, 4px) * 2);\n\t}\n\t&__content {\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n}\n\n// add extra border for high contrast mode\n[data-themes*='highcontrast'] {\n\t.app-navigation {\n\t\tborder-right: 1px solid var(--color-border);\n\t}\n}\n\n// When on mobile, we make the navigation slide over the appcontent\n@media only screen and (max-width: $breakpoint-mobile) {\n\t.app-navigation:not(.app-navigation--close) {\n\t\tposition: absolute;\n\t}\n}\n\n// Put the toggle behind appsidebar on small screens\n@media only screen and (max-width: 768px) {\n\t.app-navigation {\n\t\tz-index: 1400;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},2409:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-45fa1055]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-45fa1055]{display:flex;justify-content:space-between;padding:0 calc(var(--default-grid-baseline, 4px)*2) 0 calc(var(--default-grid-baseline, 4px)*3)}.app-navigation-caption__title[data-v-45fa1055]{font-weight:bold;color:var(--color-primary-element);font-size:var(--default-font-size);line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;box-shadow:none !important;flex-shrink:0}.app-navigation-caption__actions[data-v-45fa1055]{flex:0 0 44px}.app-navigation-caption[data-v-45fa1055]:not(:first-child){margin-top:22px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationCaption/NcAppNavigationCaption.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,YAAA,CACA,6BAAA,CACA,+FAAA,CAEA,gDACC,gBAAA,CACA,kCAAA,CACA,kCAAA,CACA,gBCae,CDZf,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,UC2Be,CD1Bf,0BAAA,CACA,aAAA,CAGD,kDACC,aAAA,CAKF,2DACC,eAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.app-navigation-caption {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tpadding: 0 calc(var(--default-grid-baseline, 4px) * 2) 0 calc(var(--default-grid-baseline, 4px) * 3);\n\n\t&__title {\n\t\tfont-weight: bold;\n\t\tcolor: var(--color-primary-element);\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\topacity: $opacity_normal;\n\t\tbox-shadow: none !important;\n\t\tflex-shrink: 0;\n\t}\n\n\t&__actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n}\n\n// extra top space if it's not the first item on the list\n.app-navigation-caption:not(:first-child) {\n\tmargin-top: math.div($clickable-area, 2);\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},891:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-2a1ad7b2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__counter[data-v-2a1ad7b2]{font-size:calc(var(--default-font-size)*.8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 8px;border-radius:var(--border-radius-pill);background-color:var(--color-background-darker)}.app-navigation-entry__counter--highlighted[data-v-2a1ad7b2]{padding:4px 6px;color:var(--color-primary-element-text);background-color:var(--color-primary-element)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationCounter/NcAppNavigationCounter.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gDACC,2CAAA,CACA,eAAA,CACA,iBAAA,CACA,cCmBgB,CDlBhB,iBAAA,CACA,sBAAA,CACA,eAAA,CACA,eAAA,CACA,uCAAA,CACA,+CAAA,CAEA,6DACC,eAAA,CACA,uCAAA,CACA,6CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-navigation-entry__counter {\n\tfont-size: calc(var(--default-font-size) * .8);\n\toverflow: hidden;\n\twidth: fit-content;\n\tmax-width: $clickable-area;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\tline-height: 1em;\n\tpadding: 4px 8px;\n\tborder-radius: var(--border-radius-pill);\n\tbackground-color: var(--color-background-darker);\n\n\t&--highlighted {\n\t\tpadding: 4px 6px;\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},774:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-419ac252]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__icon-bullet[data-v-419ac252]{display:block;padding:15px}.app-navigation-entry__icon-bullet div[data-v-419ac252]{width:14px;height:14px;cursor:pointer;transition:background 100ms ease-in-out;border:none;border-radius:50%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationIconBullet/NcAppNavigationIconBullet.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oDACC,aAAA,CAEA,YAAA,CACA,wDACC,UAAA,CACA,WAAA,CACA,cAAA,CACA,uCAAA,CACA,WAAA,CACA,iBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-navigation-entry__icon-bullet {\n\tdisplay: block;\n\t// there is 2 margins\n\tpadding: $icon-margin + 1px;\n\tdiv {\n\t\twidth: $icon-size - 2px;\n\t\theight: $icon-size - 2px;\n\t\tcursor: pointer;\n\t\ttransition: background 100ms ease-in-out;\n\t\tborder: none;\n\t\tborder-radius: 50%;\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},2374:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-0c72b57a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue.icon-collapse[data-v-0c72b57a]{position:relative;z-index:105;color:var(--color-main-text);right:0}.button-vue.icon-collapse--open[data-v-0c72b57a]{color:var(--color-main-text)}.button-vue.icon-collapse--open[data-v-0c72b57a]:hover{color:var(--color-primary-element)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2CACC,iBAAA,CACA,WAAA,CACA,4BAAA,CACA,OAAA,CACA,iDACC,4BAAA,CACA,uDACC,kCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.button-vue.icon-collapse {\n\tposition: relative;\n\tz-index: 105; // above a, under button\n\tcolor: var(--color-main-text);\n\tright: 0;\n\t&--open {\n\t\tcolor: var(--color-main-text);\n\t\t&:hover{\n\t\t\tcolor: var(--color-primary-element);\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},2412:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:44px;transition:background-color var(--animation-quick) ease-in-out;transition:background-color 200ms ease-in-out;border-radius:var(--border-radius-pill)}.app-navigation-entry-wrapper{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul{display:none}.app-navigation-entry.active{background-color:var(--color-primary-element-light) !important}.app-navigation-entry:focus-within,.app-navigation-entry:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children,.app-navigation-entry:focus-within .app-navigation-entry__children,.app-navigation-entry:hover .app-navigation-entry__children{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions,.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions,.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions,.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions,.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions{display:inline-block}.app-navigation-entry.app-navigation-entry--deleted>ul{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link,.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-div{padding-right:14px}.app-navigation-entry .app-navigation-entry-link,.app-navigation-entry .app-navigation-entry-div{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:44px;padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:14px center;background-size:16px 16px;line-height:44px}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry-icon{display:flex;align-items:center;flex:0 0 44px;justify-content:center;width:44px;height:44px;background-size:16px 16px;background-repeat:no-repeat;background-position:14px center}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__title,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer,.app-navigation-entry .app-navigation-entry-div .editingContainer{width:calc(100% - 44px);margin:auto}.app-navigation-entry__children{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px)}.app-navigation-entry__children .app-navigation-entry{display:inline-flex;flex-wrap:wrap;padding-left:16px}.app-navigation-entry__deleted{display:inline-flex;flex:1 1 0;padding-left:30px !important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:44px}.app-navigation-entry__utils{display:flex;min-width:44px;align-items:center;flex:0 1 auto;justify-content:flex-end}.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper{margin-right:calc(var(--default-grid-baseline)*3);display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__utils .action-item.app-navigation-entry__actions{display:none}.app-navigation-entry--editing .app-navigation-entry-edit{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted{z-index:250;transform:translateX(0)}.app-navigation-entry--pinned{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry:active{background-color:var(--color-primary-element-light-hover) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationItem/NcAppNavigationItem.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,sBACC,iBAAA,CACA,YAAA,CACA,aAAA,CACA,cAAA,CACA,qBAAA,CACA,UAAA,CACA,eCgBgB,CDfhB,8DAAA,CACA,6CAAA,CACA,uCAAA,CAEA,8BACC,iBAAA,CACA,YAAA,CACA,aAAA,CACA,cAAA,CACA,qBAAA,CACA,UAAA,CAEA,sGAEC,YAAA,CAMF,6BACC,8DAAA,CAED,+DAEC,8CAAA,CAKA,4LACC,6CAAA,CAWD,wdACC,oBAAA,CAKF,uDAEC,YAAA,CAIA,yKACC,kBChCW,CDqCb,iGACC,WAAA,CACA,YAAA,CACA,eAAA,CACA,UAAA,CACA,qBAAA,CACA,eCnDe,CDoDf,SAAA,CACA,kBAAA,CACA,4BAAA,CACA,2BAAA,CACA,+BAAA,CACA,yBAAA,CACA,gBC1De,CD4Df,uJACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,sBAAA,CACA,UCjEc,CDkEd,WClEc,CDmEd,yBAAA,CACA,2BAAA,CACA,+BAAA,CAGD,2JACC,eAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CAGD,qIACC,uBAAA,CACA,WAAA,CAKH,gCACC,iBAAA,CACA,YAAA,CACA,aAAA,CACA,qBAAA,CACA,UAAA,CACA,qCAAA,CAEA,sDACC,mBAAA,CACA,cAAA,CACA,iBC7FU,CDkGZ,+BACC,mBAAA,CACA,UAAA,CACA,4BAAA,CACA,0EACC,iBAAA,CACA,eAAA,CACA,UAAA,CACA,kBAAA,CACA,sBAAA,CACA,gBChHe,CDqHjB,6BACC,YAAA,CACA,cCvHgB,CDwHhB,kBAAA,CACA,aAAA,CACA,wBAAA,CACA,qHACC,oBAAA,CAGD,oEAEC,iDAAA,CACA,YAAA,CACA,kBAAA,CACA,aAAA,CAGD,wEACC,YAAA,CAOD,0DACC,WAAA,CACA,SAAA,CAMD,6DACC,WAAA,CACA,uBAAA,CAKF,8BACC,OAAA,CACA,eAAA,CAEA,4DACC,YAAA,CAOA,yDACC,oEAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-navigation-entry {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tflex-wrap: wrap;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tmin-height: $clickable-area;\n\ttransition: background-color var(--animation-quick) ease-in-out;\n\ttransition: background-color 200ms ease-in-out;\n\tborder-radius: var(--border-radius-pill);\n\n\t&-wrapper {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n\t\tflex-wrap: wrap;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\n\t\t&.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul {\n\t\t\t// NO ANIMATE because if not really hidden, we can still tab through it\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// When .active class is applied, change color background of link and utils. The\n\t// !important prevents the focus state to override the active state.\n\t&.active {\n\t\tbackground-color: var(--color-primary-element-light) !important;\n\t}\n\t&:focus-within,\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\t&.active,\n\t&:focus-within,\n\t&:hover {\n\t\t.app-navigation-entry__children {\n\t\t\tbackground-color: var(--color-main-background);\n\t\t}\n\t}\n\n\t// Show the actions on active\n\t&.active,\n\t// Always show the undo button\n\t&.app-navigation-entry--deleted,\n\t&:focus,\n\t&:focus-within,\n\t&:hover {\n\t\t.app-navigation-entry__utils .app-navigation-entry__actions {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* hide deletion/collapse of subitems */\n\t&.app-navigation-entry--deleted > ul {\n\t\t// NO ANIMATE because if not really hidden, we can still tab through it\n\t\tdisplay: none;\n\t}\n\n\t&:not(.app-navigation-entry--editing) {\n\t\t.app-navigation-entry-link, .app-navigation-entry-div {\n\t\t\tpadding-right: $icon-margin;\n\t\t}\n\t}\n\n\t// Main entry link\n\t.app-navigation-entry-link, .app-navigation-entry-div {\n\t\tz-index: 100; /* above the bullet to allow click*/\n\t\tdisplay: flex;\n\t\toverflow: hidden;\n\t\tflex: 1 1 0;\n\t\tbox-sizing: border-box;\n\t\tmin-height: $clickable-area;\n\t\tpadding: 0;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-main-text);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: $icon-margin center;\n\t\tbackground-size: $icon-size $icon-size;\n\t\tline-height: $clickable-area;\n\n\t\t.app-navigation-entry-icon {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tflex: 0 0 $clickable-area;\n\t\t\tjustify-content: center;\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\tbackground-size: $icon-size $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: $icon-margin center;\n\t\t}\n\n\t\t.app-navigation-entry__title {\n\t\t\toverflow: hidden;\n\t\t\tmax-width: 100%;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t.editingContainer {\n\t\t\twidth: calc(100% - #{$clickable-area});\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n/* Second level nesting for lists */\n.app-navigation-entry__children {\n\tposition: relative;\n\tdisplay: flex;\n\tflex: 0 1 auto;\n\tflex-direction: column;\n\twidth: 100%;\n\tgap: var(--default-grid-baseline, 4px);\n\n\t.app-navigation-entry {\n\t\tdisplay: inline-flex;\n\t\tflex-wrap: wrap;\n\t\tpadding-left: $icon-size;\n\t}\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted {\n\tdisplay: inline-flex;\n\tflex: 1 1 0;\n\tpadding-left: $clickable-area - $icon-margin !important;\n\t.app-navigation-entry__deleted-description {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tflex: 1 1 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: $clickable-area;\n\t}\n}\n\n/* counter and actions */\n.app-navigation-entry__utils {\n\tdisplay: flex;\n\tmin-width: $clickable-area;\n\talign-items: center;\n\tflex: 0 1 auto;\n\tjustify-content: flex-end;\n\t&#{&}--display-actions .action-item.app-navigation-entry__actions {\n\t\tdisplay: inline-block;\n\t}\n\t/* counter */\n\t.app-navigation-entry__counter-wrapper {\n\t\t// Add slightly more space to the right of the counter\n\t\tmargin-right: calc(var(--default-grid-baseline) * 3);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 0 1 auto;\n\t}\n\t/* actions */\n\t.action-item.app-navigation-entry__actions {\n\t\tdisplay: none;\n\t}\n}\n\n// STATES\n/* editing state */\n.app-navigation-entry--editing {\n\t.app-navigation-entry-edit {\n\t\tz-index: 250;\n\t\topacity: 1;\n\t}\n}\n\n/* deleted state */\n.app-navigation-entry--deleted {\n\t.app-navigation-entry-deleted {\n\t\tz-index: 250;\n\t\ttransform: translateX(0);\n\t}\n}\n\n/* pinned state */\n.app-navigation-entry--pinned {\n\torder: 2;\n\tmargin-top: auto;\n\t// only put a marginTop auto to the first one!\n\t~ .app-navigation-entry--pinned {\n\t\tmargin-top: 0;\n\t}\n}\n\n// Add more contrast for active entry\n[data-themes*='highcontrast'] {\n\t.app-navigation-entry {\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element-light-hover) !important;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},6982:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm{flex:1 0 100%;width:100%}.app-navigation-input-confirm form{display:flex}.app-navigation-input-confirm__input{height:34px;flex:1 1 100%;font-size:100% !important;margin:5px !important;margin-left:-8px !important;padding:7px !important}.app-navigation-input-confirm__input:active,.app-navigation-input-confirm__input:focus,.app-navigation-input-confirm__input:hover{outline:none;background-color:var(--color-main-background);color:var(--color-main-text);border-color:var(--color-primary-element)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationItem/NcInputConfirmCancel.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCFD,8BACC,aAAA,CACA,UAAA,CAEA,mCACC,YAAA,CAGD,qCACC,WAba,CAcb,aAAA,CACA,yBAAA,CACA,qBAAA,CACA,2BAAA,CACA,sBAAA,CAEA,kIAGC,YAAA,CACA,6CAAA,CACA,4BAAA,CACA,yCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n$input-height: 34px;\n$input-padding: 7px;\n$input-margin: 5px;\n\n.app-navigation-input-confirm {\n\tflex: 1 0 100%;\n\twidth: 100%;\n\n\tform {\n\t\tdisplay: flex;\n\t}\n\n\t&__input {\n\t\theight: $input-height;\n\t\tflex: 1 1 100%;\n\t\tfont-size: 100% !important;\n\t\tmargin: $input-margin !important;\n\t\tmargin-left: -1px - $input-padding !important;\n\t\tpadding: $input-padding !important;\n\n\t\t&:active,\n\t\t&:focus,\n\t\t&:hover {\n\t\t\toutline: none;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},8139:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-5e6c9e57]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new[data-v-5e6c9e57]{display:block;padding:calc(var(--default-grid-baseline, 4px)*2)}.app-navigation-new button[data-v-5e6c9e57]{width:100%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationNew/NcAppNavigationNew.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qCACC,aAAA,CACA,iDAAA,CACA,4CACC,UAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n/* 'New' button */\n.app-navigation-new {\n\tdisplay: block;\n\tpadding: calc(var(--default-grid-baseline, 4px) * 2);\n\tbutton {\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]);const s=o},7935:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new-item__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;padding-left:7px;font-size:14px}.newItemContainer{width:calc(100% - 44px);margin:auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,eAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,gBAAA,CACA,cAAA,CAGD,kBACC,uBAAA,CACA,WAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-navigation-new-item__title {\n\toverflow: hidden;\n\tmax-width: 100%;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\tpadding-left: 7px;\n\tfont-size: 14px;\n}\n\n.newItemContainer {\n\twidth: calc(100% - #{$clickable-area});\n\tmargin: auto;\n}\n"],sourceRoot:""}]);const s=o},2532:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-c1f15fcc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#app-settings[data-v-c1f15fcc]{margin-top:auto;padding:3px}#app-settings__header[data-v-c1f15fcc]{box-sizing:border-box;margin:0 3px 3px 3px}#app-settings__header .settings-button[data-v-c1f15fcc]{display:flex;flex:1 1 0;height:44px;width:100%;padding:0;margin:0;background-color:var(--color-main-background);box-shadow:none;border:0;border-radius:var(--border-radius-pill);text-align:left;font-weight:normal;font-size:100%;color:var(--color-main-text);padding-right:14px;line-height:44px}#app-settings__header .settings-button[data-v-c1f15fcc]:hover,#app-settings__header .settings-button[data-v-c1f15fcc]:focus{background-color:var(--color-background-hover)}#app-settings__header .settings-button__icon[data-v-c1f15fcc]{width:44px;height:44px;min-width:44px}#app-settings__header .settings-button__label[data-v-c1f15fcc]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}#app-settings__content[data-v-c1f15fcc]{display:block;padding:10px;margin-bottom:-3px;max-height:300px;overflow-y:auto;box-sizing:border-box}.slide-up-leave-active[data-v-c1f15fcc],.slide-up-enter-active[data-v-c1f15fcc]{transition-duration:var(--animation-slow);transition-property:max-height,padding;overflow-y:hidden !important}.slide-up-enter[data-v-c1f15fcc],.slide-up-leave-to[data-v-c1f15fcc]{max-height:0 !important;padding:0 10px !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationSettings/NcAppNavigationSettings.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,+BACC,eAAA,CACA,WC0DgC,CDxDhC,uCACC,qBAAA,CACA,oBAAA,CAEA,wDACC,YAAA,CACA,UAAA,CACA,WCYc,CDXd,UAAA,CACA,SAAA,CACA,QAAA,CACA,6CAAA,CACA,eAAA,CACA,QAAA,CACA,uCAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,4BAAA,CACA,kBAAA,CACA,gBCDc,CDGd,4HAEC,8CAAA,CAGD,8DACC,UCTa,CDUb,WCVa,CDWb,cCXa,CDad,+DACC,eAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CAKH,wCACC,aAAA,CACA,YAAA,CAGA,kBAAA,CAGA,gBAAA,CACA,eAAA,CACA,qBAAA,CAIF,gFAEC,yCAAA,CACA,sCAAA,CACA,4BAAA,CAGD,qEAEC,uBAAA,CACA,yBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n#app-settings {\n\tmargin-top: auto;\n\tpadding: $app-navigation-settings-margin;\n\n\t&__header {\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $app-navigation-settings-margin $app-navigation-settings-margin $app-navigation-settings-margin;\n\n\t\t.settings-button {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 0;\n\t\t\theight: $clickable-area;\n\t\t\twidth: 100%;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tbox-shadow: none;\n\t\t\tborder: 0;\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t\ttext-align: left;\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 100%;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tpadding-right: 14px;\n\t\t\tline-height: $clickable-area;\n\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t}\n\n\t\t\t&__icon {\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tmin-width: $clickable-area;\n\t\t\t}\n\t\t\t&__label {\n\t\t\t\toverflow: hidden;\n\t\t\t\tmax-width: 100%;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: block;\n\t\tpadding: 10px;\n\n\t\t/* prevent scrolled contents from stopping too early */\n\t\tmargin-bottom: -$app-navigation-settings-margin;\n\n\t\t/* restrict height of settings and make scrollable */\n\t\tmax-height: 300px;\n\t\toverflow-y: auto;\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.slide-up-leave-active,\n.slide-up-enter-active {\n\ttransition-duration: var(--animation-slow);\n\ttransition-property: max-height, padding;\n\toverflow-y: hidden !important;\n}\n\n.slide-up-enter,\n.slide-up-leave-to {\n\tmax-height: 0 !important;\n\tpadding: 0 10px !important;\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},9464:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-30c3aef8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button.app-navigation-toggle[data-v-30c3aef8]{position:absolute;top:4px;right:-4px;margin-right:-44px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,iBAAA,CACA,OCsDe,CDrDf,UAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\nbutton.app-navigation-toggle {\n\tposition: absolute;\n\ttop: $topbar-margin;\n\tright: - $topbar-margin;\n\tmargin-right: - $clickable-area;\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},5223:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-549cf324]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-modal[data-v-549cf324] .modal-wrapper .modal-container{display:flex;overflow:hidden}.app-settings[data-v-549cf324]{width:100%;display:flex;flex-direction:column;min-width:0}.app-settings__title[data-v-549cf324]{min-height:44px;height:44px;line-height:44px;padding-top:4px;text-align:center}.app-settings__wrapper[data-v-549cf324]{display:flex;width:100%;overflow:hidden;height:100%;position:relative}.app-settings__navigation[data-v-549cf324]{min-width:200px;margin-right:20px;overflow-x:hidden;overflow-y:auto;position:relative;height:100%}.app-settings__content[data-v-549cf324]{max-width:100vw;overflow-y:auto;overflow-x:hidden;padding:24px;width:100%}.navigation-list[data-v-549cf324]{height:100%;box-sizing:border-box;overflow-y:auto;padding:12px}.navigation-list__link[data-v-549cf324]{display:block;font-size:16px;height:44px;margin:4px 0;line-height:44px;border-radius:var(--border-radius-pill);font-weight:bold;padding:0 20px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-color:rgba(0,0,0,0);border:none}.navigation-list__link[data-v-549cf324]:hover,.navigation-list__link[data-v-549cf324]:focus{background-color:var(--color-background-hover)}.navigation-list__link--active[data-v-549cf324]{background-color:var(--color-primary-element-light) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSettingsDialog/NcAppSettingsDialog.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qEACC,YAAA,CACA,eAAA,CAGD,+BACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,sCACC,eCWe,CDVf,WCUe,CDTf,gBCSe,CDRf,eAAA,CACA,iBAAA,CAED,wCACC,YAAA,CACA,UAAA,CACA,eAAA,CACA,WAAA,CACA,iBAAA,CAED,2CACC,eAAA,CACA,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,WAAA,CAED,wCACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,YAAA,CACA,UAAA,CAIF,kCACC,WAAA,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,wCACC,aAAA,CACA,cAAA,CACA,WC3Be,CD4Bf,YAAA,CACA,gBC7Be,CD8Bf,uCAAA,CACA,gBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,8BAAA,CACA,WAAA,CACA,4FAEC,8CAAA,CAED,gDACC,8DAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.app-settings-modal :deep(.modal-wrapper .modal-container) {\n\tdisplay: flex;\n\toverflow: hidden;\n}\n\n.app-settings {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-width: 0;\n\t&__title {\n\t\tmin-height: $clickable-area;\n\t\theight: $clickable-area;\n\t\tline-height: $clickable-area;\n\t\tpadding-top: 4px; // Same as the close button top spacing\n\t\ttext-align: center;\n\t}\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\theight: 100%;\n\t\tposition: relative;\n\t}\n\t&__navigation {\n\t\tmin-width: 200px;\n\t\tmargin-right: 20px;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\tposition: relative;\n\t\theight: 100%;\n\t}\n\t&__content {\n\t\tmax-width: 100vw;\n\t\toverflow-y: auto;\n\t\toverflow-x: hidden;\n\t\tpadding: 24px;\n\t\twidth: 100%;\n\t}\n}\n\n.navigation-list {\n\theight: 100%;\n\tbox-sizing: border-box;\n\toverflow-y: auto;\n\tpadding: 12px;\n\t&__link {\n\t\tdisplay: block;\n\t\tfont-size: 16px;\n\t\theight: $clickable-area;\n\t\tmargin: 4px 0;\n\t\tline-height: $clickable-area;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tfont-weight: bold;\n\t\tpadding: 0 20px;\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t&--active {\n\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},2746:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-600605cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-section[data-v-600605cc]{margin-bottom:80px}.app-settings-section__title[data-v-600605cc]{font-size:20px;margin:0;padding:20px 0;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSettingsSection/NcAppSettingsSection.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,uCACC,kBAAA,CACA,8CACC,cAAA,CACA,QAAA,CACA,cAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-settings-section {\n\tmargin-bottom: 80px;\n\t&__title {\n\t\tfont-size: 20px;\n\t\tmargin: 0;\n\t\tpadding: 20px 0;\n\t\tfont-weight: bold;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n"],sourceRoot:""}]);const s=o},6801:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-62b02a03]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar[data-v-62b02a03]{z-index:1500;top:0;right:0;display:flex;overflow-x:hidden;overflow-y:auto;flex-direction:column;flex-shrink:0;width:27vw;min-width:300px;max-width:500px;height:100%;border-left:1px solid var(--color-border);background:var(--color-main-background)}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-62b02a03]{position:absolute;z-index:100;top:6px;right:6px;width:44px;height:44px;opacity:.7;border-radius:22px}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-62b02a03]:hover,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-62b02a03]:active,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-62b02a03]:focus{opacity:1;background-color:rgba(127,127,127,.25)}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-62b02a03]{flex-direction:row}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-62b02a03]{z-index:2;width:70px;height:70px;margin:9px;border-radius:3px;flex:0 0 auto}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-62b02a03]{padding-left:0;flex:1 1 auto;min-width:0;padding-right:94px;padding-top:10px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-62b02a03]{padding-right:50px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-62b02a03]{z-index:3;position:absolute;top:9px;left:-44px;gap:0}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-62b02a03]{top:6px;right:50px;background-color:rgba(0,0,0,0);position:absolute}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-62b02a03]{position:absolute;top:6px;right:50px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-62b02a03]{padding-right:94px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-62b02a03]{padding-right:50px}.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-62b02a03]{display:flex;flex-direction:column}.app-sidebar .app-sidebar-header__figure[data-v-62b02a03]{width:100%;height:250px;max-height:250px;background-repeat:no-repeat;background-position:center;background-size:contain}.app-sidebar .app-sidebar-header__figure--with-action[data-v-62b02a03]{cursor:pointer}.app-sidebar .app-sidebar-header__desc[data-v-62b02a03]{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:18px 6px 18px 9px;gap:0 4px}.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-62b02a03]{padding-left:6px}.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__maintitle-form[data-v-62b02a03],.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__maintitle-form[data-v-62b02a03]{margin-top:-2px;margin-bottom:-2px}.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle[data-v-62b02a03]{margin-top:-2px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-62b02a03]{display:flex;height:44px;width:44px;justify-content:center;flex:0 0 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-62b02a03]{box-shadow:none}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-62b02a03]:hover{box-shadow:none;background-color:var(--color-background-hover)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container[data-v-62b02a03]{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-width:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container[data-v-62b02a03]{display:flex;align-items:center;min-height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-62b02a03]{padding:0;min-height:30px;font-size:20px;line-height:30px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-62b02a03] .linkified{cursor:pointer;text-decoration:underline;margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form[data-v-62b02a03]{display:flex;flex:1 1 auto;align-items:center}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form input.app-sidebar-header__maintitle-input[data-v-62b02a03]{flex:1 1 auto;margin:0;padding:7px;font-size:20px;font-weight:bold}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__menu[data-v-62b02a03]{height:44px;width:44px;border-radius:22px;background-color:rgba(127,127,127,.25);margin-left:5px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle[data-v-62b02a03],.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-62b02a03]{overflow:hidden;width:100%;margin:0;white-space:nowrap;text-overflow:ellipsis}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-62b02a03]{padding:0;opacity:.7;font-size:var(--default-font-size)}.app-sidebar .app-sidebar-header__description[data-v-62b02a03]{display:flex;align-items:center;margin:0 10px}@media only screen and (max-width: 768px){.app-sidebar[data-v-62b02a03]{width:100vw;max-width:100vw}}.slide-right-leave-active[data-v-62b02a03],.slide-right-enter-active[data-v-62b02a03]{transition-duration:var(--animation-quick);transition-property:max-width,min-width}.slide-right-enter-to[data-v-62b02a03],.slide-right-leave[data-v-62b02a03]{min-width:300px;max-width:500px}.slide-right-enter[data-v-62b02a03],.slide-right-leave-to[data-v-62b02a03]{min-width:0 !important;max-width:0 !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSidebar/NcAppSidebar.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCYD,8BACC,YAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CACA,qBAAA,CACA,aAAA,CACA,UAAA,CACA,eA5BmB,CA6BnB,eA5BmB,CA6BnB,WAAA,CACA,yCAAA,CACA,uCAAA,CAGC,sEACC,iBAAA,CACA,WAAA,CACA,OA1BmB,CA2BnB,SA3BmB,CA4BnB,UCjBc,CDkBd,WClBc,CDmBd,UCDc,CDEd,kBAAA,CACA,qOAGC,SCLW,CDMX,sCCFsB,CDQvB,qHACC,kBAAA,CAEA,iJACC,SAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,aAAA,CAED,+IACC,cAAA,CACA,aAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAlE2B,CAoE3B,yLACC,kBAAA,CAGD,qLACC,SAAA,CACA,iBAAA,CACA,OAAA,CACA,UAAA,CACA,KAAA,CAED,yKACC,OAxEgB,CAyEhB,UAAA,CACA,8BAAA,CACA,iBAAA,CASH,kHACC,iBAAA,CACA,OAtFkB,CAuFlB,UAAA,CAGD,kHACC,kBAAA,CAEA,4JACC,kBAAA,CAMH,4EACC,YAAA,CACA,qBAAA,CAID,0DACC,UAAA,CACA,YAAA,CACA,gBAAA,CACA,2BAAA,CACA,0BAAA,CACA,uBAAA,CACA,uEACC,cAAA,CAKF,wDACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,kBAAA,CACA,yBAAA,CACA,SAAA,CAGA,8EACC,gBAAA,CAGD,2NAEC,eAAA,CACA,kBAAA,CAGD,+GACC,eAAA,CAGD,8FACC,YAAA,CACA,WCtIa,CDuIb,UCvIa,CDwIb,sBAAA,CACA,aAAA,CAEA,wHAEC,eAAA,CACA,8HACC,eAAA,CACA,8CAAA,CAMH,6FACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAEA,sIACC,YAAA,CACA,kBAAA,CACA,eChKY,CDmKZ,qKACC,SAAA,CACA,eAAA,CACA,cAAA,CACA,gBAtLc,CAyLd,gLACC,cAAA,CACA,yBAAA,CACA,QAAA,CAIF,0KACC,YAAA,CACA,aAAA,CACA,kBAAA,CAEA,oNACC,aAAA,CACA,QAAA,CACA,WA3Mc,CA4Md,cAAA,CACA,gBAAA,CAKF,gKACC,WCjMW,CDkMX,UClMW,CDmMX,kBAAA,CACA,sCC7KoB,CD8KpB,eAAA,CAKF,uPAEC,eAAA,CACA,UAAA,CACA,QAAA,CACA,kBAAA,CACA,sBAAA,CAID,2HACC,SAAA,CACA,UCpMY,CDqMZ,kCAAA,CAMH,+DACC,YAAA,CACA,kBAAA,CACA,aAAA,CAMH,0CACC,8BACC,WAAA,CACA,eAAA,CAAA,CAIF,sFAEC,0CAAA,CACA,uCAAA,CAGD,2EAEC,eA5QmB,CA6QnB,eA5QmB,CA+QpB,2EAEC,sBAAA,CACA,sBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n$sidebar-min-width: 300px;\n$sidebar-max-width: 500px;\n\n$desc-vertical-padding: 18px;\n$desc-vertical-padding-compact: 10px;\n$desc-input-padding: 7px;\n\n// title and subtitle\n$desc-title-height: 30px;\n$desc-subtitle-height: 22px;\n$desc-height: $desc-title-height + $desc-subtitle-height;\n\n$top-buttons-spacing: 6px;\n\n/*\n\tSidebar: to be used within #content\n\tapp-content will be shrinked properly\n*/\n.app-sidebar {\n\tz-index: 1500;\n\ttop: 0;\n\tright: 0;\n\tdisplay: flex;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tflex-direction: column;\n\tflex-shrink: 0;\n\twidth: 27vw;\n\tmin-width: $sidebar-min-width;\n\tmax-width: $sidebar-max-width;\n\theight: 100%;\n\tborder-left: 1px solid var(--color-border);\n\tbackground: var(--color-main-background);\n\n\t.app-sidebar-header {\n\t\t> .app-sidebar__close {\n\t\t\tposition: absolute;\n\t\t\tz-index: 100;\n\t\t\ttop: $top-buttons-spacing;\n\t\t\tright: $top-buttons-spacing;\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_normal;\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t\t&:hover,\n\t\t\t&:active,\n\t\t\t&:focus {\n\t\t\t\topacity: $opacity_full;\n\t\t\t\tbackground-color: $action-background-hover;\n\t\t\t}\n\t\t}\n\n\t\t// Compact mode only affects a sidebar with a figure\n\t\t&--compact.app-sidebar-header--with-figure {\n\t\t\t.app-sidebar-header__info {\n\t\t\t\tflex-direction: row;\n\n\t\t\t\t.app-sidebar-header__figure {\n\t\t\t\t\tz-index: 2;\n\t\t\t\t\twidth: $desc-height + $desc-vertical-padding;\n\t\t\t\t\theight: $desc-height + $desc-vertical-padding;\n\t\t\t\t\tmargin: math.div($desc-vertical-padding, 2);\n\t\t\t\t\tborder-radius: 3px;\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t\t.app-sidebar-header__desc {\n\t\t\t\t\tpadding-left: 0;\n\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tpadding-right: 2 * $clickable-area + $top-buttons-spacing;\n\t\t\t\t\tpadding-top: $desc-vertical-padding-compact;\n\n\t\t\t\t\t&.app-sidebar-header__desc--without-actions {\n\t\t\t\t\t\tpadding-right: #{$clickable-area + $top-buttons-spacing};\n\t\t\t\t\t}\n\n\t\t\t\t\t.app-sidebar-header__tertiary-actions {\n\t\t\t\t\t\tz-index: 3; // above star\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\ttop: math.div($desc-vertical-padding, 2);\n\t\t\t\t\t\tleft: -1 * $clickable-area;\n\t\t\t\t\t\tgap: 0; // override gap\n\t\t\t\t\t}\n\t\t\t\t\t.app-sidebar-header__menu {\n\t\t\t\t\t\ttop: $top-buttons-spacing;\n\t\t\t\t\t\tright: $clickable-area + $top-buttons-spacing; // left of the close button\n\t\t\t\t\t\tbackground-color: transparent;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// sidebar without figure\n\t\t&:not(.app-sidebar-header--with-figure) {\n\t\t\t// align the menu with the close button\n\t\t\t.app-sidebar-header__menu {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: $top-buttons-spacing;\n\t\t\t\tright: $top-buttons-spacing + $clickable-area;\n\t\t\t}\n\t\t\t// increase the padding to not overlap the menu\n\t\t\t.app-sidebar-header__desc {\n\t\t\t\tpadding-right: #{$clickable-area * 2 + $top-buttons-spacing};\n\n\t\t\t\t&.app-sidebar-header__desc--without-actions {\n\t\t\t\t\tpadding-right: #{$clickable-area + $top-buttons-spacing};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// the container with the figure and the description\n\t\t.app-sidebar-header__info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t// header background\n\t\t&__figure {\n\t\t\twidth: 100%;\n\t\t\theight: 250px;\n\t\t\tmax-height: 250px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: contain;\n\t\t\t&--with-action {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\n\t\t// description\n\t\t&__desc {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\tpadding: #{$desc-vertical-padding} #{$top-buttons-spacing} #{$desc-vertical-padding} #{math.div($desc-vertical-padding, 2)};\n\t\t\tgap: 0 4px;\n\n\t\t\t// custom overrides\n\t\t\t&--with-tertiary-action {\n\t\t\t\tpadding-left: 6px;\n\t\t\t}\n\n\t\t\t&--editable .app-sidebar-header__maintitle-form,\n\t\t\t&--with-subtitle--editable .app-sidebar-header__maintitle-form {\n\t\t\t\tmargin-top: -2px;\n\t\t\t\tmargin-bottom: -2px;\n\t\t\t}\n\n\t\t\t&--with-subtitle--editable .app-sidebar-header__subtitle {\n\t\t\t\tmargin-top: -2px;\n\t\t\t}\n\n\t\t\t.app-sidebar-header__tertiary-actions {\n\t\t\t\tdisplay: flex;\n\t\t\t\theight: $clickable-area;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\tjustify-content: center;\n\t\t\t\tflex: 0 0 auto;\n\n\t\t\t\t.app-sidebar-header__star {\n\t\t\t\t\t// Override default Button component styles\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// titles\n\t\t\t.app-sidebar-header__title-container {\n\t\t\t\tflex: 1 1 auto;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\tjustify-content: center;\n\t\t\t\tmin-width: 0;\n\n\t\t\t\t.app-sidebar-header__maintitle-container {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tmin-height: $clickable-area;\n\n\t\t\t\t\t// main title\n\t\t\t\t\t.app-sidebar-header__maintitle {\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t\tmin-height: 30px;\n\t\t\t\t\t\tfont-size: 20px;\n\t\t\t\t\t\tline-height: $desc-title-height;\n\n\t\t\t\t\t\t// Needs 'deep' as the link is generated by the linkify directive\n\t\t\t\t\t\t&:deep(.linkified) {\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t\ttext-decoration: underline;\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.app-sidebar-header__maintitle-form {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t\t\talign-items: center;\n\n\t\t\t\t\t\tinput.app-sidebar-header__maintitle-input {\n\t\t\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t\tpadding: $desc-input-padding;\n\t\t\t\t\t\t\tfont-size: 20px;\n\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// main menu\n\t\t\t\t\t.app-sidebar-header__menu {\n\t\t\t\t\t\theight: $clickable-area;\n\t\t\t\t\t\twidth: $clickable-area;\n\t\t\t\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t\t\t\t\tbackground-color: $action-background-hover;\n\t\t\t\t\t\tmargin-left: 5px;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// shared between main and subtitle\n\t\t\t\t.app-sidebar-header__maintitle,\n\t\t\t\t.app-sidebar-header__subtitle {\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t}\n\n\t\t\t\t// subtitle\n\t\t\t\t.app-sidebar-header__subtitle {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\topacity: $opacity_normal;\n\t\t\t\t\tfont-size: var(--default-font-size);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// sidebar description slot\n\t\t&__description {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin: 0 10px;\n\t\t}\n\t}\n}\n\n// Make the sidebar full-width on small screens\n@media only screen and (max-width: 768px) {\n\t.app-sidebar {\n\t\twidth: 100vw;\n\t\tmax-width: 100vw;\n\t}\n}\n\n.slide-right-leave-active,\n.slide-right-enter-active {\n\ttransition-duration: var(--animation-quick);\n\ttransition-property: max-width, min-width;\n}\n\n.slide-right-enter-to,\n.slide-right-leave {\n\tmin-width: $sidebar-min-width;\n\tmax-width: $sidebar-max-width;\n}\n\n.slide-right-enter,\n.slide-right-leave-to {\n\tmin-width: 0 !important;\n\tmax-width: 0 !important;\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},6180:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-header__description button,.app-sidebar-header__description .button,.app-sidebar-header__description input[type=button],.app-sidebar-header__description input[type=submit],.app-sidebar-header__description input[type=reset]{padding:6px 22px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSidebar/NcAppSidebar.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCHA,4OAIC,gBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// ! slots specific designs, cannot be scoped\n// if any button inside the description slot, increase visual padding\n.app-sidebar-header__description {\n\tbutton, .button,\n\tinput[type='button'],\n\tinput[type='submit'],\n\tinput[type='reset'] {\n\t\tpadding: 6px 22px;\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},9290:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-204e1d5c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-tabs[data-v-204e1d5c]{display:flex;flex-direction:column;min-height:0;flex:1 1 100%}.app-sidebar-tabs__nav[data-v-204e1d5c]{margin-top:10px}.app-sidebar-tabs__nav ul[data-v-204e1d5c]{display:flex;justify-content:stretch}.app-sidebar-tabs__tab[data-v-204e1d5c]{display:block;flex:1 1;min-width:0;text-align:center}.app-sidebar-tabs__tab a[data-v-204e1d5c]{position:relative;display:block;overflow:hidden;padding:25px 5px 5px 5px;transition:color var(--animation-quick),opacity var(--animation-quick),border-color var(--animation-quick);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.7;color:var(--color-main-text);border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__tab a[data-v-204e1d5c]:hover,.app-sidebar-tabs__tab a[data-v-204e1d5c]:focus,.app-sidebar-tabs__tab a[data-v-204e1d5c]:active,.app-sidebar-tabs__tab a.active[data-v-204e1d5c]{opacity:1}.app-sidebar-tabs__tab a:hover .app-sidebar-tabs__tab-icon[data-v-204e1d5c],.app-sidebar-tabs__tab a:focus .app-sidebar-tabs__tab-icon[data-v-204e1d5c],.app-sidebar-tabs__tab a:active .app-sidebar-tabs__tab-icon[data-v-204e1d5c],.app-sidebar-tabs__tab a.active .app-sidebar-tabs__tab-icon[data-v-204e1d5c]{opacity:1}.app-sidebar-tabs__tab a[data-v-204e1d5c]:not(.active):hover,.app-sidebar-tabs__tab a[data-v-204e1d5c]:not(.active):focus{border-bottom-color:var(--color-background-darker);box-shadow:inset 0 -1px 0 var(--color-background-darker)}.app-sidebar-tabs__tab a.active[data-v-204e1d5c]{color:var(--color-main-text);border-bottom-color:var(--color-main-text);box-shadow:inset 0 -1px 0 var(--color-main-text);font-weight:bold}.app-sidebar-tabs__tab a[data-v-204e1d5c]:focus{border-bottom-color:var(--color-primary-element);box-shadow:inset 0 -1px 0 var(--color-primary-element)}.app-sidebar-tabs__tab-icon[data-v-204e1d5c]{position:absolute;top:0;left:0;width:100%;height:25px;transition:opacity var(--animation-quick);opacity:.7}.app-sidebar-tabs__tab-icon>span[data-v-204e1d5c]{display:flex;align-items:center;justify-content:center;background-size:16px}.app-sidebar-tabs__content[data-v-204e1d5c]{position:relative;min-height:0;height:100%}.app-sidebar-tabs__content--multiple[data-v-204e1d5c]>:not(section){display:none}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSidebar/NcAppSidebarTabs.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CAEA,wCACC,eAAA,CACA,2CACC,YAAA,CACA,uBAAA,CAGF,wCACC,aAAA,CACA,QAAA,CACA,WAAA,CACA,iBAAA,CACA,0CACC,iBAAA,CACA,aAAA,CACA,eAAA,CACA,wBAAA,CACA,0GAAA,CACA,iBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UCcc,CDbd,4BAAA,CACA,2CAAA,CAEA,kMAIC,SCOW,CDNX,kTACC,SCKU,CDFZ,0HAEC,kDAAA,CACA,wDAAA,CAED,iDACC,4BAAA,CACA,0CAAA,CACA,gDAAA,CACA,gBAAA,CAKD,gDACC,gDAAA,CACA,sDAAA,CAKH,6CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,yCAAA,CACA,UC3Be,CD6Bf,kDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,oBAAA,CAIF,4CACC,iBAAA,CAEA,YAAA,CACA,WAAA,CAGA,oEACC,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-sidebar-tabs {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-height: 0;\n\tflex: 1 1 100%;\n\n\t&__nav {\n\t\tmargin-top: 10px;\n\t\tul {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: stretch;\n\t\t}\n\t}\n\t&__tab {\n\t\tdisplay: block;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\ttext-align: center;\n\t\ta {\n\t\t\tposition: relative;\n\t\t\tdisplay: block;\n\t\t\toverflow: hidden;\n\t\t\tpadding: 25px 5px 5px 5px;\n\t\t\ttransition: color var(--animation-quick), opacity var(--animation-quick), border-color var(--animation-quick);\n\t\t\ttext-align: center;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\topacity: $opacity_normal;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active,\n\t\t\t&.active {\n\t\t\t\topacity: $opacity_full;\n\t\t\t\t.app-sidebar-tabs__tab-icon {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:not(.active):hover,\n\t\t\t&:not(.active):focus {\n\t\t\t\tborder-bottom-color: var(--color-background-darker);\n\t\t\t\tbox-shadow: inset 0 -1px 0 var(--color-background-darker);\n\t\t\t}\n\t\t\t&.active {\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tborder-bottom-color: var(--color-main-text);\n\t\t\t\tbox-shadow: inset 0 -1px 0 var(--color-main-text);\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\t\t\t// differentiate the two for accessibility purpose\n\t\t\t// make sure the user knows she's focusing the navigation\n\t\t\t// and can use arrows/home/pageup...\n\t\t\t&:focus {\n\t\t\t\tborder-bottom-color: var(--color-primary-element);\n\t\t\t\tbox-shadow: inset 0 -1px 0 var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__tab-icon {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 25px;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: $opacity_normal;\n\n\t\t& > span {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbackground-size: 16px;\n\t\t}\n\t}\n\n\t&__content {\n\t\tposition: relative;\n\t\t// take full available height\n\t\tmin-height: 0;\n\t\theight: 100%;\n\t\t// force the use of the tab component if more than one tab\n\t\t// you can just put raw content if you don't use tabs\n\t\t&--multiple > :not(section) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},8222:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-0c059703]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar__tab[data-v-0c059703]{display:none;padding:10px;min-height:100%;max-height:100%;height:100%;overflow:auto}.app-sidebar__tab[data-v-0c059703]:focus{border-color:var(--color-primary-element);box-shadow:0 0 .2em var(--color-primary-element);outline:0}.app-sidebar__tab--active[data-v-0c059703]{display:block}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSidebarTab/NcAppSidebarTab.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,YAAA,CACA,eAAA,CACA,eAAA,CACA,WAAA,CACA,aAAA,CAEA,yCACC,yCAAA,CACA,gDAAA,CACA,SAAA,CAGD,2CACC,aAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.app-sidebar__tab {\n\tdisplay: none;\n\tpadding: 10px;\n\tmin-height: 100%; // fill available height\n\tmax-height: 100%; // scroll inside\n\theight: 100%;\n\toverflow: auto;\n\n\t&:focus {\n\t\tborder-color: var(--color-primary-element);\n\t\tbox-shadow: 0 0 0.2em var(--color-primary-element);\n\t\toutline: 0;\n\t}\n\n\t&--active {\n\t\tdisplay: block;\n\t}\n}\n"],sourceRoot:""}]);const s=o},4343:(t,e,n)=>{n.d(e,{Z:()=>m});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),A=new URL(n(2605),n.b),d=new URL(n(7127),n.b),u=o()(i()),p=l()(c),h=l()(A),T=l()(d);u.push([t.id,".material-design-icon[data-v-b1ea54bc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-b1ea54bc]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-b1ea54bc]{position:relative;background-color:var(--color-main-background);white-space:normal}.avatardiv[data-v-b1ea54bc]:not(.avatardiv--unknown){background-color:var(--color-main-background) !important;box-shadow:0 0 5px rgba(0,0,0,.05) inset}.avatardiv--with-menu[data-v-b1ea54bc]{cursor:pointer}.avatardiv--with-menu[data-v-b1ea54bc] .v-popper{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-b1ea54bc]{cursor:pointer;opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-b1ea54bc],.avatardiv--with-menu:hover .icon-more[data-v-b1ea54bc]{opacity:1}.avatardiv--with-menu:focus img[data-v-b1ea54bc],.avatardiv--with-menu:hover img[data-v-b1ea54bc]{opacity:.3}.avatardiv--with-menu .icon-more[data-v-b1ea54bc],.avatardiv--with-menu img[data-v-b1ea54bc]{transition:opacity var(--animation-quick)}.avatardiv .avatardiv__initials-wrapper[data-v-b1ea54bc]{height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:50%}.avatardiv .avatardiv__initials-wrapper .unknown[data-v-b1ea54bc]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal}.avatardiv img[data-v-b1ea54bc]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-b1ea54bc]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-b1ea54bc]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;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-b1ea54bc]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-b1ea54bc]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--online[data-v-b1ea54bc]{background-image:url("+p+")}.avatardiv .avatardiv__user-status--dnd[data-v-b1ea54bc]{background-image:url("+h+");background-color:#fff}.avatardiv .avatardiv__user-status--away[data-v-b1ea54bc]{background-image:url("+T+")}.avatardiv .avatardiv__user-status--icon[data-v-b1ea54bc]{border:none;background-color:rgba(0,0,0,0)}.avatardiv .popovermenu-wrapper[data-v-b1ea54bc]{position:relative;display:inline-block}.avatar-class-icon[data-v-b1ea54bc]{border-radius:50%;background-color:var(--color-background-darker);height:100%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAvatar/NcAvatar.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4BACC,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,qCACC,iBAAA,CACA,6CAAA,CACA,kBAAA,CAGD,qDAEC,wDAAA,CACA,wCAAA,CAGD,uCACC,cAAA,CACA,iDACC,iBAAA,CACA,KAAA,CACA,MAAA,CAED,kDACC,cAAA,CACA,SAAA,CAIA,gHACC,SAAA,CAED,kGACC,UAAA,CAGF,6FAEC,yCAAA,CAIF,yDACC,kBAAA,CACA,iBAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kEACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CAIF,gCAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CAGD,kDACC,iBAAA,CACA,kBAAA,CAGD,oDACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,SAAA,CACA,gBAAA,CACA,kCAAA,CACA,6CAAA,CACA,6CAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,gEACC,0CAAA,CACA,8CAAA,CAED,iEACC,+CAAA,CACA,mDAAA,CAGD,4DACC,wDAAA,CAED,yDACC,wDAAA,CACA,qBAAA,CAED,0DACC,wDAAA,CAED,0DACC,WAAA,CACA,8BAAA,CAIF,iDACC,iBAAA,CACA,oBAAA,CAIF,oCACC,iBAAA,CACA,+CAAA,CACA,WAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-main-background);\n\t\twhite-space: normal;\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White/black background for avatars with transparency\n\t\tbackground-color: var(--color-main-background) !important;\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t:deep(.v-popper) {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more {\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t.avatardiv__initials-wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.unknown {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.material-design-icon {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tmax-height: 18px;\n\t\tmax-width: 18px;\n\t\theight: 40%;\n\t\twidth: 40%;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n"],sourceRoot:""}]);const m=u},9560:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-74afe090]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-74afe090]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-74afe090]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child .vue-crumb__separator[data-v-74afe090]{display:none}.vue-crumb>a[data-v-74afe090]:hover,.vue-crumb>a[data-v-74afe090]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-74afe090]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-74afe090]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-74afe090]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-74afe090]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;min-width:44px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex;justify-content:center}.vue-crumb>a>span[data-v-74afe090]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item{max-width:100%}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue{padding:0 4px 0 16px}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue__wrapper{flex-direction:row-reverse}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle{background-color:var(--color-background-dark);color:var(--color-main-text)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcBreadcrumb/NcBreadcrumb.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,4BACC,qBAAA,CACA,mBAAA,CACA,WCmBgB,CDlBhB,SAAA,CAEA,uCACC,eAAA,CACA,gBAAA,CAGA,6DACC,YAAA,CAKF,wEAEC,6CAAA,CACA,4BAAA,CAGD,oCACC,YAAA,CAGD,iDACC,6CAAA,CACA,4BAAA,CAGD,uCACC,SAAA,CACA,mCAAA,CAGD,8BACC,eAAA,CACA,mCAAA,CACA,YAAA,CACA,cCnBe,CDoBf,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,mBAAA,CACA,sBAAA,CAEA,mCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAMF,wDAEC,cAAA,CAEA,oEACC,oBAAA,CAEA,6EACC,0BAAA,CAKF,mGACC,6CAAA,CACA,4BAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.vue-crumb {\n\tbackground-image: none;\n\tdisplay: inline-flex;\n\theight: $clickable-area;\n\tpadding: 0;\n\n\t&:last-child {\n\t\tmax-width: 210px;\n\t\tfont-weight: bold;\n\n\t\t// Don't show breadcrumb separator for last crumb\n\t\t.vue-crumb__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// Hover and focus effect for crumbs\n\t& > a:hover,\n\t& > a:focus {\n\t\tbackground-color: var(--color-background-dark);\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t&--hidden {\n\t\tdisplay: none;\n\t}\n\n\t&#{&}--hovered > a {\n\t\tbackground-color: var(--color-background-dark);\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t&__separator {\n\t\tpadding: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t> a {\n\t\toverflow: hidden;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding: 12px;\n\t\tmin-width: $clickable-area;\n\t\tmax-width: 100%;\n\t\tborder-radius: var(--border-radius-pill);\n\t\talign-items: center;\n\t\tdisplay: inline-flex;\n\t\tjustify-content: center;\n\n\t\t> span {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// Adjust action item appearance for crumbs with actions\n\t// to match other crumbs\n\t&:not(.dropdown) :deep(.action-item) {\n\t\t// Adjustments necessary to correctly shrink on small screens\n\t\tmax-width: 100%;\n\n\t\t.button-vue {\n\t\t\tpadding: 0 4px 0 16px;\n\n\t\t\t&__wrapper {\n\t\t\t\tflex-direction: row-reverse;\n\t\t\t}\n\t\t}\n\n\t\t// Adjust the background of the last crumb when the action is open\n\t\t&.action-item--open .action-item__menutoggle {\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},9007:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-32bc320f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.breadcrumb[data-v-32bc320f]{width:100%;flex-grow:1;display:inline-flex;align-items:center}.breadcrumb--collapsed[data-v-32bc320f] .vue-crumb:last-child{min-width:100px;flex-shrink:1}.breadcrumb nav[data-v-32bc320f]{flex-shrink:1;max-width:100%;min-width:228px}.breadcrumb .breadcrumb__crumbs[data-v-32bc320f]{max-width:100%}.breadcrumb .breadcrumb__crumbs[data-v-32bc320f],.breadcrumb .breadcrumb__actions[data-v-32bc320f]{display:inline-flex}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcBreadcrumbs/NcBreadcrumbs.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,UAAA,CACA,WAAA,CACA,mBAAA,CACA,kBAAA,CAEA,8DACC,eAAA,CACA,aAAA,CAGD,iCACC,aAAA,CACA,cAAA,CAKA,eAAA,CAGD,iDACC,cAAA,CAGD,mGAEC,mBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.breadcrumb {\n\twidth: 100%;\n\tflex-grow: 1;\n\tdisplay: inline-flex;\n\talign-items: center;\n\n\t&--collapsed :deep(.vue-crumb:last-child) {\n\t\tmin-width: 100px;\n\t\tflex-shrink: 1;\n\t}\n\n\tnav {\n\t\tflex-shrink: 1;\n\t\tmax-width: 100%;\n\t\t/**\n\t\t * This value is given by the min-width of the last crumb (100px) plus\n\t\t * two times the width of a crumb with an icon (first crumb and hidden crumbs actions).\n\t\t */\n\t\tmin-width: 228px;\n\t}\n\n\t& #{&}__crumbs {\n\t\tmax-width: 100%;\n\t}\n\n\t& #{&}__crumbs,\n\t& #{&}__actions {\n\t\tdisplay: inline-flex;\n\t}\n}\n"],sourceRoot:""}]);const s=o},4466:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-4c8c7bff]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-4c8c7bff]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-4c8c7bff],.button-vue span[data-v-4c8c7bff]{cursor:pointer}.button-vue[data-v-4c8c7bff]:focus{outline:none}.button-vue[data-v-4c8c7bff]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-4c8c7bff]{cursor:default}.button-vue[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-4c8c7bff]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-4c8c7bff]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-4c8c7bff]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-4c8c7bff]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-4c8c7bff]{width:44px !important}.button-vue--text-only[data-v-4c8c7bff]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-4c8c7bff]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-4c8c7bff]{padding:0 16px 0 4px}.button-vue--wide[data-v-4c8c7bff]{width:100%}.button-vue[data-v-4c8c7bff]:focus-visible{outline:2px solid var(--color-main-text) !important;box-shadow:0 0 0 4px var(--color-main-background) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-4c8c7bff]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-4c8c7bff]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-4c8c7bff]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-4c8c7bff]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-4c8c7bff]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-4c8c7bff]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-4c8c7bff]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-4c8c7bff]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-4c8c7bff]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-4c8c7bff]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-4c8c7bff]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-4c8c7bff]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-4c8c7bff]:active{background-color:var(--color-error)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcButton/NcButton.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,4DAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},8523:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-781f2f28]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-781f2f28]{display:flex}.checkbox-radio-switch__input[data-v-781f2f28]{position:absolute;z-index:-1;opacity:0 !important;width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch__label[data-v-781f2f28]{display:flex;position:relative;align-items:center;user-select:none;min-height:44px;border-radius:44px;padding:4px 14px;margin:0 -14px}.checkbox-radio-switch__label[data-v-781f2f28],.checkbox-radio-switch__label *[data-v-781f2f28]{cursor:pointer}.checkbox-radio-switch__icon[data-v-781f2f28]{margin-right:4px;margin-left:-2px;color:var(--color-primary-element);width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch--disabled .checkbox-radio-switch__label[data-v-781f2f28]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__label .checkbox-radio-switch__icon[data-v-781f2f28]{color:var(--color-main-text)}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__label[data-v-781f2f28]:hover,.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__label[data-v-781f2f28]:focus-within{background-color:var(--color-primary-element-light)}.checkbox-radio-switch-switch:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon[data-v-781f2f28]{color:var(--color-text-maxcontrast)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked .checkbox-radio-switch__icon[data-v-781f2f28]{color:var(--color-primary-element-light)}.checkbox-radio-switch--button-variant .checkbox-radio-switch__label[data-v-781f2f28]{border-radius:0;width:100%;margin:0}.checkbox-radio-switch--button-variant[data-v-781f2f28]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped){border-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-v-grouped[data-v-781f2f28]:first-of-type{border-top-left-radius:var(--border-radius-large);border-top-right-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-v-grouped[data-v-781f2f28]:last-of-type{border-bottom-left-radius:var(--border-radius-large);border-bottom-right-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-v-grouped+.checkbox-radio-switch--button-variant-v-grouped[data-v-781f2f28]:not(.checkbox-radio-switch--button-variant-v-grouped.checkbox-radio-switch--checked){border-top:0}.checkbox-radio-switch--button-variant-v-grouped+.checkbox-radio-switch--button-variant-v-grouped.checkbox-radio-switch--checked[data-v-781f2f28]{margin-top:-2px}.checkbox-radio-switch--button-variant-h-grouped[data-v-781f2f28]:first-of-type{border-top-left-radius:var(--border-radius-large);border-bottom-left-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-h-grouped[data-v-781f2f28]:last-of-type{border-top-right-radius:var(--border-radius-large);border-bottom-right-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-h-grouped+.checkbox-radio-switch--button-variant-h-grouped[data-v-781f2f28]:not(.checkbox-radio-switch--button-variant-h-grouped.checkbox-radio-switch--checked){border-left:0}.checkbox-radio-switch--button-variant-h-grouped+.checkbox-radio-switch--button-variant-h-grouped.checkbox-radio-switch--checked[data-v-781f2f28]{margin-left:-2px}.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-781f2f28]{border:2px solid var(--color-border-dark);overflow:hidden}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-781f2f28]{font-weight:bold;border:2px solid var(--color-primary-element-light)}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-781f2f28]:hover{border:2px solid var(--color-primary-element)}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked label[data-v-781f2f28]{background-color:var(--color-background-dark)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,wCACC,YAAA,CAEA,+CACC,iBAAA,CACA,UAAA,CACA,oBAAA,CACA,sBAAA,CACA,uBAAA,CAGD,+CACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,gBAAA,CACA,eCKe,CDJf,kBCIe,CDHf,gBAAA,CACA,cAAA,CAEA,gGACC,cAAA,CAIF,8CACC,gBA7BQ,CA+BR,gBAAA,CACA,kCAAA,CACA,sBAAA,CACA,uBAAA,CAGD,gFACC,UCEiB,CDDjB,6GACC,4BAAA,CAIF,2OAEC,mDAAA,CAID,iHACC,mCAAA,CAID,2IACC,wCAAA,CAGD,sFACC,eAAA,CACA,UAAA,CACA,QAAA,CAGD,oKACC,wCAAA,CAIA,gFACC,iDAAA,CACA,kDAAA,CAED,+EACC,oDAAA,CACA,qDAAA,CAID,wMACC,YAAA,CAED,kJAGC,eAAA,CAKD,gFACC,iDAAA,CACA,oDAAA,CAED,+EACC,kDAAA,CACA,qDAAA,CAID,wMACC,aAAA,CAED,kJAGC,gBAAA,CAIF,8EACC,yCAAA,CAEA,eAAA,CAEA,uFACC,gBAAA,CACA,mDAAA,CAEA,6FACC,6CAAA,CAGD,6FACC,6CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n$spacing: 4px;\n\n.checkbox-radio-switch {\n\tdisplay: flex;\n\n\t&__input {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\topacity: 0 !important; // We need !important, or it gets overwritten by server style\n\t\twidth: var(--icon-size);\n\t\theight: var(--icon-size);\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t\talign-items: center;\n\t\tuser-select: none;\n\t\tmin-height: $clickable-area;\n\t\tborder-radius: $clickable-area;\n\t\tpadding: 4px $icon-margin;\n\t\tmargin: 0 #{-$icon-margin};\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tmargin-right: $spacing;\n\t\t// Remove the left margin of material design icons to align text\n\t\tmargin-left: -2px;\n\t\tcolor: var(--color-primary-element);\n\t\twidth: var(--icon-size);\n\t\theight: var(--icon-size);\n\t}\n\n\t&--disabled &__label {\n\t\topacity: $opacity_disabled;\n\t\t.checkbox-radio-switch__icon {\n\t\t\tcolor: var(--color-main-text)\n\t\t}\n\t}\n\n\t&:not(&--disabled) &__label:hover,\n\t&:not(&--disabled) &__label:focus-within {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t// Switch specific rules\n\t&-switch:not(&--checked) &__icon {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t// If switch is checked AND disabled, use the fade primary colour\n\t&-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked &__icon {\n\t\tcolor: var(--color-primary-element-light);\n\t}\n\n\t&--button-variant &__label {\n\t\tborder-radius: 0;\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n\n\t&--button-variant:not(&--button-variant-v-grouped):not(&--button-variant-h-grouped) {\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&--button-variant-v-grouped {\n\t\t&:first-of-type {\n\t\t\tborder-top-left-radius: var(--border-radius-large);\n\t\t\tborder-top-right-radius: var(--border-radius-large);\n\t\t}\n\t\t&:last-of-type {\n\t\t\tborder-bottom-left-radius: var(--border-radius-large);\n\t\t\tborder-bottom-right-radius: var(--border-radius-large);\n\t\t}\n\n\t\t// avoid double borders between elements\n\t\t& + &:not(&.checkbox-radio-switch--checked) {\n\t\t\tborder-top: 0;\n\t\t}\n\t\t& + &.checkbox-radio-switch--checked {\n\t\t\t// as the selected element has all borders:\n\t\t\t// small trick to cover the previous bottom border (only if there is one)\n\t\t\tmargin-top: -2px;\n\t\t}\n\t}\n\n\t&--button-variant-h-grouped {\n\t\t&:first-of-type {\n\t\t\tborder-top-left-radius: var(--border-radius-large);\n\t\t\tborder-bottom-left-radius: var(--border-radius-large);\n\t\t}\n\t\t&:last-of-type {\n\t\t\tborder-top-right-radius: var(--border-radius-large);\n\t\t\tborder-bottom-right-radius: var(--border-radius-large);\n\t\t}\n\n\t\t// avoid double borders between elements\n\t\t& + &:not(&.checkbox-radio-switch--checked) {\n\t\t\tborder-left: 0;\n\t\t}\n\t\t& + &.checkbox-radio-switch--checked {\n\t\t\t// as the selected element has all borders:\n\t\t\t// small trick to cover the previous bottom border (only if there is one)\n\t\t\tmargin-left: -2px;\n\t\t}\n\t}\n\n\t&--button-variant.checkbox-radio-switch {\n\t\tborder: 2px solid var(--color-border-dark);\n\t\t// better than setting border-radius on labels (producing a small gap)\n\t\toverflow: hidden;\n\n\t\t&--checked {\n\t\t\tfont-weight: bold;\n\t\t\tborder: 2px solid var(--color-primary-element-light);\n\n\t\t\t&:hover {\n\t\t\t\tborder: 2px solid var(--color-primary-element);\n\t\t\t}\n\n\t\t\tlabel {\n\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},3246:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-6cccc0ac]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.color-picker[data-v-6cccc0ac]{display:flex;overflow:hidden;align-content:flex-end;flex-direction:column;justify-content:space-between;box-sizing:content-box !important;width:176px;padding:8px;border-radius:3px}.color-picker--advanced-fields[data-v-6cccc0ac]{width:264px}.color-picker__simple[data-v-6cccc0ac]{display:grid;grid-template-columns:repeat(auto-fit, 44px);grid-auto-rows:44px}.color-picker__simple-color-circle[data-v-6cccc0ac]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;margin:auto;padding:0;color:#fff;border:1px solid rgba(0,0,0,.25);border-radius:50%;font-size:16px}.color-picker__simple-color-circle[data-v-6cccc0ac]:hover{opacity:.6}.color-picker__simple-color-circle--active[data-v-6cccc0ac]{width:38px;height:38px;min-height:38px;transition:all 100ms ease-in-out;opacity:1 !important}.color-picker__advanced[data-v-6cccc0ac]{box-shadow:none !important}.color-picker__navigation[data-v-6cccc0ac]{display:flex;flex-direction:row;justify-content:space-between;margin-top:10px}[data-v-6cccc0ac] .vc-chrome{width:unset;background-color:var(--color-main-background)}[data-v-6cccc0ac] .vc-chrome-color-wrap{width:30px;height:30px}[data-v-6cccc0ac] .vc-chrome-active-color{width:34px;height:34px;border-radius:17px}[data-v-6cccc0ac] .vc-chrome-body{padding:14px 0 0 0;background-color:var(--color-main-background)}[data-v-6cccc0ac] .vc-chrome-body .vc-input__input{box-shadow:none}[data-v-6cccc0ac] .vc-chrome-toggle-btn{filter:var(--background-invert-if-dark)}[data-v-6cccc0ac] .vc-chrome-saturation-wrap{border-radius:3px}[data-v-6cccc0ac] .vc-chrome-saturation-circle{width:20px;height:20px}.slide-enter[data-v-6cccc0ac]{transform:translateX(-50%);opacity:0}.slide-enter-to[data-v-6cccc0ac]{transform:translateX(0);opacity:1}.slide-leave[data-v-6cccc0ac]{transform:translateX(0);opacity:1}.slide-leave-to[data-v-6cccc0ac]{transform:translateX(-50%);opacity:0}.slide-enter-active[data-v-6cccc0ac],.slide-leave-active[data-v-6cccc0ac]{transition:all 50ms ease-in-out}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcColorPicker/NcColorPicker.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,+BACC,YAAA,CACA,eAAA,CACA,sBAAA,CACA,qBAAA,CACA,6BAAA,CACA,iCAAA,CACA,WAAA,CACA,WAAA,CACA,iBAAA,CAEA,gDACC,WAAA,CAGD,uCACC,YAAA,CACA,4CAAA,CACA,mBCKe,CDHf,oDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,WAAA,CACA,SAAA,CACA,UAAA,CACA,gCAAA,CACA,iBAAA,CACA,cAAA,CACA,0DACC,UAAA,CAED,4DACC,UAAA,CACA,WAAA,CACA,eAAA,CACA,gCAAA,CACA,oBAAA,CAKH,yCACC,0BAAA,CAGD,2CACC,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,eAAA,CAKD,8BACC,WAAA,CACA,6CAAA,CAEA,yCACC,UAAA,CACA,WAAA,CAGD,2CACC,UAAA,CACA,WAAA,CACA,kBAAA,CAGD,mCACC,kBAAA,CACA,6CAAA,CACA,oDACC,eAAA,CAIF,yCACC,uCAAA,CAIA,8CACC,iBAAA,CAGD,gDACC,UAAA,CACA,WAAA,CAOH,8BACC,0BAAA,CACA,SAAA,CAED,iCACC,uBAAA,CACA,SAAA,CAED,8BACC,uBAAA,CACA,SAAA,CAED,iCACC,0BAAA,CACA,SAAA,CAED,0EAEC,+BAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.color-picker {\n\tdisplay: flex;\n\toverflow: hidden;\n\talign-content: flex-end;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\tbox-sizing: content-box !important;\n\twidth: 176px;\n\tpadding: 8px;\n\tborder-radius: 3px;\n\n\t&--advanced-fields {\n\t\twidth: 264px;\n\t}\n\n\t&__simple {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(auto-fit, $clickable-area);\n\t\tgrid-auto-rows: $clickable-area;\n\n\t\t&-color-circle {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: 34px;\n\t\t\theight: 34px;\n\t\t\tmin-height: 34px;\n\t\t\tmargin: auto;\n\t\t\tpadding: 0;\n\t\t\tcolor: white;\n\t\t\tborder: 1px solid rgba(0, 0, 0, 0.25);\n\t\t\tborder-radius: 50%;\n\t\t\tfont-size: 16px;\n\t\t\t&:hover {\n\t\t\t\topacity: .6;\n\t\t\t}\n\t\t\t&--active {\n\t\t\t\twidth: 38px;\n\t\t\t\theight: 38px;\n\t\t\t\tmin-height: 38px;\n\t\t\t\ttransition: all 100ms ease-in-out;\n\t\t\t\topacity: 1 !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__advanced {\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__navigation {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\tmargin-top: 10px;\n\t}\n}\n\n:deep() .vc {\n\t&-chrome {\n\t\twidth: unset;\n\t\tbackground-color: var(--color-main-background);\n\n\t\t&-color-wrap {\n\t\t\twidth: 30px;\n\t\t\theight: 30px;\n\t\t}\n\n\t\t&-active-color {\n\t\t\twidth: 34px;\n\t\t\theight: 34px;\n\t\t\tborder-radius: 17px;\n\t\t}\n\n\t\t&-body {\n\t\t\tpadding: 14px 0 0 0;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\t.vc-input__input {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\t\t}\n\n\t\t&-toggle-btn {\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\n\t\t&-saturation {\n\t\t\t&-wrap {\n\t\t\t\tborder-radius: 3px;\n\t\t\t}\n\n\t\t\t&-circle {\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.slide {\n\t&-enter {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\t&-enter-to {\n\t\ttransform: translateX(0);\n\t\topacity: 1;\n\t}\n\t&-leave {\n\t\ttransform: translateX(0);\n\t\topacity: 1;\n\t}\n\t&-leave-to {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\t&-enter-active,\n\t&-leave-active {\n\t\ttransition: all 50ms ease-in-out;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},7168:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-f8d5ac8e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.content[data-v-f8d5ac8e]{box-sizing:border-box;margin:var(--body-container-margin);margin-top:50px;display:flex;width:calc(100% - var(--body-container-margin)*2);border-radius:var(--body-container-radius);height:var(--body-height);overflow:hidden;padding:0}.content[data-v-f8d5ac8e]:not(.with-sidebar--full){position:fixed}.content[data-v-f8d5ac8e] *{box-sizing:border-box}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcContent/NcContent.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,0BACC,qBAAA,CACA,mCAAA,CACA,eAAA,CACA,YAAA,CACA,iDAAA,CACA,0CAAA,CACA,yBAAA,CACA,eAAA,CACA,SAAA,CAEA,mDACC,cAAA,CAGD,4BACC,qBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.content {\n\tbox-sizing: border-box;\n\tmargin: var(--body-container-margin);\n\tmargin-top: 50px;\n\tdisplay: flex;\n\twidth: calc(100% - var(--body-container-margin) * 2);\n\tborder-radius: var(--body-container-radius);\n\theight: var(--body-height);\n\toverflow: hidden;\n\tpadding: 0;\n\n\t&:not(.with-sidebar--full) {\n\t\tposition: fixed;\n\t}\n\n\t:deep(*) {\n\t\tbox-sizing: border-box;\n\t}\n}\n"],sourceRoot:""}]);const s=o},3236:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-345fc3d1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.counter-bubble__counter[data-v-345fc3d1]{font-size:calc(var(--default-font-size)*.8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 6px;border-radius:var(--border-radius-pill);background-color:var(--color-primary-element-light);font-weight:bold;color:var(--color-primary-element)}.counter-bubble__counter--highlighted[data-v-345fc3d1]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.counter-bubble__counter--outlined[data-v-345fc3d1]{color:var(--color-primary-element);background:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcCounterBubble/NcCounterBubble.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,0CACC,2CAAA,CACA,eAAA,CACA,iBAAA,CACA,cCmBgB,CDlBhB,iBAAA,CACA,sBAAA,CACA,eAAA,CACA,eAAA,CACA,uCAAA,CACA,mDAAA,CACA,gBAAA,CACA,kCAAA,CAEA,uDACC,uCAAA,CACA,6CAAA,CAGD,oDACC,kCAAA,CACA,wBAAA,CACA,0BAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.counter-bubble__counter {\n\tfont-size: calc(var(--default-font-size) * .8);\n\toverflow: hidden;\n\twidth: fit-content;\n\tmax-width: $clickable-area;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\tline-height: 1em;\n\tpadding: 4px 6px;\n\tborder-radius: var(--border-radius-pill);\n\tbackground-color: var(--color-primary-element-light);\n\tfont-weight: bold;\n\tcolor: var(--color-primary-element);\n\n\t&--highlighted {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&--outlined {\n\t\tcolor: var(--color-primary-element);\n\t\tbackground: transparent;\n\t\tbox-shadow: inset 0 0 0 2px;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},3048:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-35ac6098]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.dashboard-widget[data-v-35ac6098] .empty-content{text-align:center;margin-top:0;padding-top:5vh}.dashboard-widget[data-v-35ac6098] .empty-content.half-screen{padding-top:0;margin-top:0;margin-bottom:1vh}.more[data-v-35ac6098]{display:block;text-align:center;color:var(--color-text-maxcontrast);line-height:60px;cursor:pointer}.more[data-v-35ac6098]:hover,.more[data-v-35ac6098]:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-large);color:var(--color-main-text)}.item-list__entry[data-v-35ac6098]{display:flex;align-items:flex-start;padding:8px}.item-list__entry .item-avatar[data-v-35ac6098]{position:relative;margin-top:auto;margin-bottom:auto;background-color:var(--color-background-dark) !important}.item-list__entry .item__details[data-v-35ac6098]{padding-left:8px;max-height:44px;flex-grow:1;overflow:hidden;display:flex;flex-direction:column}.item-list__entry .item__details h3[data-v-35ac6098],.item-list__entry .item__details .message[data-v-35ac6098]{white-space:nowrap;background-color:var(--color-background-dark)}.item-list__entry .item__details h3[data-v-35ac6098]{font-size:100%;margin:0}.item-list__entry .item__details .message[data-v-35ac6098]{width:80%;height:15px;margin-top:5px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcDashboardWidget/NcDashboardWidget.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,kDACC,iBAAA,CACA,YAAA,CACA,eAAA,CACA,8DACC,aAAA,CACA,YAAA,CACA,iBAAA,CAIF,uBACC,aAAA,CACA,iBAAA,CACA,mCAAA,CACA,gBAAA,CACA,cAAA,CAEA,0DAEC,8CAAA,CACA,wCAAA,CACA,4BAAA,CAKF,mCACC,YAAA,CACA,sBAAA,CACA,WAAA,CAEA,gDACC,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,wDAAA,CAED,kDACC,gBAAA,CACA,eAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,gHAEC,kBAAA,CACA,6CAAA,CAED,qDACC,cAAA,CACA,QAAA,CAED,2DACC,SAAA,CACA,WAAA,CACA,cAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.dashboard-widget :deep(.empty-content) {\n\ttext-align: center;\n\tmargin-top: 0;\n\tpadding-top: 5vh;\n\t&.half-screen {\n\t\tpadding-top: 0;\n\t\tmargin-top: 0;\n\t\tmargin-bottom: 1vh;\n\t}\n}\n\n.more {\n\tdisplay: block;\n\ttext-align: center;\n\tcolor: var(--color-text-maxcontrast);\n\tline-height: 60px;\n\tcursor: pointer;\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder-radius: var(--border-radius-large);\n\t\tcolor: var(--color-main-text);\n\t}\n}\n\n/* skeleton */\n.item-list__entry {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tpadding: 8px;\n\n\t.item-avatar {\n\t\tposition: relative;\n\t\tmargin-top: auto;\n\t\tmargin-bottom: auto;\n\t\tbackground-color: var(--color-background-dark) !important;\n\t}\n\t.item__details {\n\t\tpadding-left: 8px;\n\t\tmax-height: 44px;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\th3,\n\t\t.message {\n\t\t\twhite-space: nowrap;\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t}\n\t\th3 {\n\t\t\tfont-size: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\t\t.message {\n\t\t\twidth: 80%;\n\t\t\theight: 15px;\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},342:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-cde45638]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.item-list__entry[data-v-cde45638]{display:flex;align-items:flex-start;position:relative;padding:8px}.item-list__entry[data-v-cde45638]:hover,.item-list__entry[data-v-cde45638]:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.item-list__entry .item-avatar[data-v-cde45638]{position:relative;margin-top:auto;margin-bottom:auto}.item-list__entry .item__details[data-v-cde45638]{padding-left:8px;max-height:44px;flex-grow:1;overflow:hidden;display:flex;flex-direction:column}.item-list__entry .item__details h3[data-v-cde45638],.item-list__entry .item__details .message[data-v-cde45638]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-list__entry .item__details .message span[data-v-cde45638]{width:10px;display:inline-block;margin-bottom:-3px}.item-list__entry .item__details h3[data-v-cde45638]{font-size:100%;margin:0}.item-list__entry .item__details .message[data-v-cde45638]{width:100%;color:var(--color-text-maxcontrast)}.item-list__entry .item-icon[data-v-cde45638]{position:relative;width:14px;height:14px;margin:27px -3px 0px -7px}.item-list__entry button.primary[data-v-cde45638]{padding:21px;margin:0}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,sBAAA,CACA,iBAAA,CACA,WAAA,CAEA,kFAEC,8CAAA,CACA,wCAAA,CAED,gDACC,iBAAA,CACA,eAAA,CACA,kBAAA,CAED,kDACC,gBAAA,CACA,eAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,gHAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAED,gEACC,UAAA,CACA,oBAAA,CACA,kBAAA,CAED,qDACC,cAAA,CACA,QAAA,CAED,2DACC,UAAA,CACA,mCAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,yBAAA,CAGD,kDACC,YAAA,CACA,QAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.item-list__entry {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tposition: relative;\n\tpadding: 8px;\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\t.item-avatar {\n\t\tposition: relative;\n\t\tmargin-top: auto;\n\t\tmargin-bottom: auto;\n\t}\n\t.item__details {\n\t\tpadding-left: 8px;\n\t\tmax-height: 44px;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\th3,\n\t\t.message {\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\t\t.message span {\n\t\t\twidth: 10px;\n\t\t\tdisplay: inline-block;\n\t\t\tmargin-bottom: -3px;\n\t\t}\n\t\th3 {\n\t\t\tfont-size: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\t\t.message {\n\t\t\twidth: 100%;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\n\t.item-icon {\n\t\tposition: relative;\n\t\twidth: 14px;\n\t\theight: 14px;\n\t\tmargin: 27px -3px 0px -7px;\n\t}\n\n\tbutton.primary {\n\t\tpadding: 21px;\n\t\tmargin: 0;\n\t}\n}\n/*\n.content-popover {\n\theight: 0px;\n\twidth: 0px;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n.popover-container {\n\twidth: 100%;\n\theight: 0px;\n}\n*/\n"],sourceRoot:""}]);const s=o},8940:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-b5e8dce0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.native-datetime-picker[data-v-b5e8dce0]{display:flex;flex-direction:column}.native-datetime-picker .native-datetime-picker--input[data-v-b5e8dce0]{width:100%;flex:0 0 auto;padding-right:4px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcDateTimePickerNative/NcDateTimePickerNative.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yCACC,YAAA,CACA,qBAAA,CAGD,wEACC,UAAA,CACA,aAAA,CACA,iBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.native-datetime-picker {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.native-datetime-picker .native-datetime-picker--input {\n\twidth: 100%;\n\tflex: 0 0 auto;\n\tpadding-right: 4px;\n}\n"],sourceRoot:""}]);const s=o},6526:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-68e9c068]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mx-datepicker[data-v-68e9c068] .mx-input-wrapper .mx-input{background-clip:border-box}.datetime-picker-inline-icon[data-v-68e9c068]{opacity:.3;border:none;background-color:rgba(0,0,0,0);border-radius:0;padding:0 !important;margin:0}.datetime-picker-inline-icon--highlighted[data-v-68e9c068]{opacity:.7}.datetime-picker-inline-icon[data-v-68e9c068]:focus,.datetime-picker-inline-icon[data-v-68e9c068]:hover{opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcDatetimePicker/NcDatetimePicker.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4DACC,0BAAA,CAGD,8CACC,UAAA,CACA,WAAA,CACA,8BAAA,CACA,eAAA,CACA,oBAAA,CACA,QAAA,CAEA,2DACC,UAAA,CAGD,wGAEC,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.mx-datepicker :deep(.mx-input-wrapper .mx-input) {\n\tbackground-clip: border-box;\n}\n\n.datetime-picker-inline-icon {\n\topacity: .3;\n\tborder: none;\n\tbackground-color: transparent;\n\tborder-radius: 0;\n\tpadding: 0 !important;\n\tmargin: 0;\n\n\t&--highlighted {\n\t\topacity: .7;\n\t}\n\n\t&:focus,\n\t&:hover {\n\t\topacity: 1;\n\t}\n}\n"],sourceRoot:""}]);const s=o},2618:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper{border-radius:var(--border-radius-large)}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner{padding:4px;border-radius:var(--border-radius-large)}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__title{padding:4px 0;padding-left:14px}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select .vs__dropdown-toggle{border-radius:calc(var(--border-radius-large) - 4px)}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open .vs__dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open.select--drop-up .vs__dropdown-toggle{border-radius:0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px)}.vs__dropdown-menu--floating{z-index:100001}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcDatetimePicker/NcDatetimePicker.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,sFACC,wCAAA,CAEA,uGACC,WAAA,CACA,wCAAA,CAGC,wIACC,aAAA,CACA,iBAAA,CAKA,gLACC,oDAAA,CAIA,yLACC,2BAAA,CACA,4BAAA,CAED,yMACC,+FAAA,CASN,6BAEC,cAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// We overwrite the popover base class, so we can style\n// the popover for the timezone select only.\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\n\t.v-popper__inner {\n\t\tpadding: 4px;\n\t\tborder-radius: var(--border-radius-large);\n\n\t\t.timezone-popover-wrapper {\n\t\t\t&__title {\n\t\t\t\tpadding: 4px 0;\n\t\t\t\tpadding-left: 14px; // Left-align with NcSelect text\n\t\t\t}\n\n\t\t\t// We overwrite the border radius of the input to account for the popover border-radius minus the padding\n\t\t\t&__timezone-select.v-select {\n\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\tborder-radius: calc(var(--border-radius-large) - 4px);\n\t\t\t\t}\n\n\t\t\t\t&.vs--open {\n\t\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t\t\t}\n\t\t\t\t\t&.select--drop-up .vs__dropdown-toggle {\n\t\t\t\t\t\tborder-radius: 0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// TODO: This should be scoped or targeted by a specific selector, but the NcSelect component does not allow this yet.\n.vs__dropdown-menu--floating {\n\t// Higher z-index than the popover in which the NcSelect is located.\n\tz-index: 100001;\n}\n"],sourceRoot:""}]);const s=o},436:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-3daafbe0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-3daafbe0]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-3daafbe0]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-3daafbe0],.name-parts__last[data-v-3daafbe0]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-3daafbe0],.name-parts__last strong[data-v-3daafbe0]{font-weight:bold}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcEllipsisedOption/NcEllipsisedOption.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,YAAA,CACA,cAAA,CACA,cAAA,CACA,oCACC,eAAA,CACA,sBAAA,CAED,uEAGC,eAAA,CACA,cAAA,CACA,qFACC,gBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\tcursor: inherit;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tcursor: inherit;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},4722:(t,e,n)=>{n.d(e,{Z:()=>c});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a),s=n(2463),l=o()(i());l.i(s.Z),l.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.emoji-mart{background-color:var(--color-main-background) !important;border:0;color:var(--color-main-text) !important}.emoji-mart button{margin:0;padding:0;border:none;background:rgba(0,0,0,0);font-size:inherit;height:36px;width:auto}.emoji-mart button *{cursor:pointer !important}.emoji-mart .emoji-mart-bar,.emoji-mart .emoji-mart-anchors,.emoji-mart .emoji-mart-search,.emoji-mart .emoji-mart-search input,.emoji-mart .emoji-mart-category,.emoji-mart .emoji-mart-category-label,.emoji-mart .emoji-mart-category-label span,.emoji-mart .emoji-mart-skin-swatches{background-color:rgba(0,0,0,0) !important;border-color:var(--color-border) !important;color:inherit !important}.emoji-mart .emoji-mart-search input:focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary-element);outline:none}.emoji-mart .emoji-mart-bar:first-child{border-top-left-radius:var(--border-radius) !important;border-top-right-radius:var(--border-radius) !important}.emoji-mart .emoji-mart-anchors button{border-radius:0;padding:12px 4px;height:auto}.emoji-mart .emoji-mart-anchors button:focus-visible{outline:2px solid var(--color-primary-element)}.emoji-mart .emoji-mart-category{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:start}.emoji-mart .emoji-mart-category .emoji-mart-category-label,.emoji-mart .emoji-mart-category .emoji-mart-emoji{user-select:none;flex-grow:0;flex-shrink:0}.emoji-mart .emoji-mart-category .emoji-mart-category-label{flex-basis:100%;margin:0}.emoji-mart .emoji-mart-category .emoji-mart-emoji{flex-basis:12.5%;text-align:center}.emoji-mart .emoji-mart-category .emoji-mart-emoji:hover::before,.emoji-mart .emoji-mart-category .emoji-mart-emoji.emoji-mart-emoji-selected::before{background-color:var(--color-background-hover) !important;outline:2px solid var(--color-primary-element)}.emoji-mart .emoji-mart-category button:focus-visible{background-color:var(--color-background-hover);border:2px solid var(--color-primary-element) !important;border-radius:50%}.search{padding:0 8px 4px 8px}.search .input-field__label{padding:5px 4px;font-weight:500}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcEmojiPicker/NcEmojiPicker.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,YACC,wDAAA,CACA,QAAA,CACA,uCAAA,CAGA,mBACC,QAAA,CACA,SAAA,CACA,WAAA,CACA,wBAAA,CACA,iBAAA,CACA,WAAA,CACA,UAAA,CAEA,qBACC,yBAAA,CAIF,0RAQC,yCAAA,CACA,2CAAA,CACA,wBAAA,CAGD,mDACC,uDAAA,CACA,YAAA,CAIA,wCACC,sDAAA,CACA,uDAAA,CAKD,uCACC,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qDAEC,8CAAA,CAKH,iCACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,qBAAA,CAEA,+GAEC,gBAAA,CACA,WAAA,CACA,aAAA,CAGD,4DACC,eAAA,CACA,QAAA,CAGD,mDAEC,gBAAA,CACA,iBAAA,CAEA,sJAEC,yDAAA,CACA,8CAAA,CAKD,sDACC,8CAAA,CACA,wDAAA,CACA,iBAAA,CAOJ,QACC,qBAAA,CACA,4BAEC,eAAA,CACA,eAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n@import '~emoji-mart-vue-fast/css/emoji-mart.css';\n\n.emoji-mart {\n\tbackground-color: var(--color-main-background) !important;\n\tborder: 0;\n\tcolor: var(--color-main-text) !important;\n\n\t// default style reset\n\tbutton {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tfont-size: inherit;\n\t\theight: 36px;\n\t\twidth: auto;\n\n\t\t* {\n\t\t\tcursor: pointer !important;\n\t\t}\n\t}\n\n\t.emoji-mart-bar,\n\t.emoji-mart-anchors,\n\t.emoji-mart-search,\n\t.emoji-mart-search input,\n\t.emoji-mart-category,\n\t.emoji-mart-category-label,\n\t.emoji-mart-category-label span,\n\t.emoji-mart-skin-swatches {\n\t\tbackground-color: transparent !important;\n\t\tborder-color: var(--color-border) !important;\n\t\tcolor: inherit !important;\n\t}\n\n\t.emoji-mart-search input:focus-visible {\n\t\tbox-shadow: inset 0 0 0 2px var(--color-primary-element);\n\t\toutline: none;\n\t}\n\n\t.emoji-mart-bar {\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: var(--border-radius) !important;\n\t\t\tborder-top-right-radius: var(--border-radius) !important;\n\t\t}\n\t}\n\n\t.emoji-mart-anchors {\n\t\tbutton {\n\t\t\tborder-radius: 0;\n\t\t\tpadding: 12px 4px;\n\t\t\theight: auto;\n\t\t\t&:focus-visible {\n\t\t\t\t/* box-shadow: inset 0 0 0 2px var(--color-primary-element); */\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t}\n\n\t.emoji-mart-category {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: start;\n\n\t\t.emoji-mart-category-label,\n\t\t.emoji-mart-emoji {\n\t\t\tuser-select: none;\n\t\t\tflex-grow: 0;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t.emoji-mart-category-label {\n\t\t\tflex-basis: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t.emoji-mart-emoji {\n\t\t\t// 8 emoji per row\n\t\t\tflex-basis: calc(100% / 8);\n\t\t\ttext-align: center;\n\n\t\t\t&:hover::before,\n\t\t\t&.emoji-mart-emoji-selected::before{\n\t\t\t\tbackground-color: var(--color-background-hover) !important;\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t\tbutton {\n\n\t\t\t&:focus-visible {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\tborder: 2px solid var(--color-primary-element) !important;\n\t\t\t\tborder-radius: 50%;\n\t\t\t}\n\t\t}\n\t}\n\n}\n\n.search {\n\tpadding: 0 8px 4px 8px;\n\t.input-field__label {\n\t\t// Match styles in emoji-mart-vue-fast\n\t\tpadding: 5px 4px;\n\t\tfont-weight: 500;\n\t}\n}\n\n"],sourceRoot:""}]);const c=l},635:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-957b98b0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-957b98b0]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.modal-wrapper .empty-content[data-v-957b98b0]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-957b98b0]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-957b98b0] svg{width:64px;height:64px;max-width:64px;max-height:64px}.empty-content__title[data-v-957b98b0]{margin-bottom:10px;text-align:center}.empty-content__action[data-v-957b98b0]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-957b98b0]{margin-top:20px;display:flex}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcEmptyContent/NcEmptyContent.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,eAAA,CAEA,+CACC,cAAA,CACA,iBAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,UAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,0CACC,UAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CAIF,uCACC,kBAAA,CACA,iBAAA,CAGD,wCACC,cAAA,CAEA,uDACC,eAAA,CACA,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.empty-content {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n\tmargin-top: 20vh;\n\n\t.modal-wrapper & {\n\t\tmargin-top: 5vh;\n\t\tmargin-bottom: 5vh;\n\t}\n\n\t&__icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 64px;\n\t\theight: 64px;\n\t\tmargin: 0 auto 15px;\n\t\topacity: .4;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: 64px;\n\n\t\t:deep(svg) {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\t\t\tmax-width: 64px;\n\t\t\tmax-height: 64px;\n\t\t}\n\t}\n\n\t&__title {\n\t\tmargin-bottom: 10px;\n\t\ttext-align: center;\n\t}\n\n\t&__action {\n\t\tmargin-top: 8px;\n\n\t\t.modal-wrapper & {\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},1552:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-91d382a6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#guest-content-vue[data-v-91d382a6]{color:var(--color-main-text);background-color:var(--color-main-background);min-width:0;border-radius:var(--border-radius-large);box-shadow:0 0 10px var(--color-box-shadow);height:fit-content;padding:15px;margin:20px auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcGuestContent/NcGuestContent.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oCACC,4BAAA,CACA,6CAAA,CACA,WAAA,CACA,wCAAA,CACA,2CAAA,CACA,kBAAA,CACA,YAAA,CACA,gBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n#guest-content-vue {\n\tcolor: var(--color-main-text);\n\tbackground-color: var(--color-main-background);\n\tmin-width: 0;\n\tborder-radius: var(--border-radius-large);\n\tbox-shadow: 0 0 10px var(--color-box-shadow);\n\theight: fit-content;\n\tpadding: 15px;\n\tmargin: 20px auto;\n}\n"],sourceRoot:""}]);const s=o},7267:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#content.nc-guest-content{overflow:auto;margin-bottom:0;height:calc(var(--body-height) + var(--body-container-margin))}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcGuestContent/NcGuestContent.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,0BAEC,aAAA,CAGA,eAAA,CACA,8DAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n#content.nc-guest-content {\n\t// Enable scrolling\n\toverflow: auto;\n\n\t// Fix box being cutoff at the bottom\n\tmargin-bottom: 0;\n\theight: calc(var(--body-height) + var(--body-container-margin));\n}\n"],sourceRoot:""}]);const s=o},9950:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,'.material-design-icon[data-v-357d93a8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.header-menu[data-v-357d93a8]{position:relative;width:var(--header-height);height:var(--header-height)}.header-menu__trigger[data-v-357d93a8]{display:flex;align-items:center;justify-content:center;width:var(--header-height);height:var(--header-height);margin:0;padding:0;cursor:pointer;opacity:.85;filter:none !important;color:var(--color-primary-text) !important}.header-menu--opened .header-menu__trigger[data-v-357d93a8],.header-menu__trigger[data-v-357d93a8]:hover,.header-menu__trigger[data-v-357d93a8]:focus,.header-menu__trigger[data-v-357d93a8]:active{opacity:1}.header-menu__trigger[data-v-357d93a8]:focus-visible{outline:none}.header-menu__wrapper[data-v-357d93a8]{position:fixed;z-index:2000;top:50px;right:0;box-sizing:border-box;margin:0 8px;padding:8px;border-radius:0 0 var(--border-radius) var(--border-radius);border-radius:var(--border-radius-large);background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow))}.header-menu__carret[data-v-357d93a8]{position:absolute;z-index:2001;bottom:0;left:calc(50% - 10px);width:0;height:0;content:" ";pointer-events:none;border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background)}.header-menu__content[data-v-357d93a8]{overflow:auto;width:350px;max-width:calc(100vw - 16px);min-height:66px;max-height:calc(100vh - 100px)}.header-menu__content[data-v-357d93a8] .empty-content{margin:12vh 10px}@media only screen and (max-width: 512px){.header-menu[data-v-357d93a8]{width:44px}.header-menu__trigger[data-v-357d93a8]{width:44px}}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcHeaderMenu/NcHeaderMenu.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCFD,8BACC,iBAAA,CACA,0BAAA,CACA,2BAAA,CAEA,uCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,2BAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CAGA,sBAAA,CACA,0CAAA,CAGD,oMAIC,SAAA,CAGD,qDACC,YAAA,CAGD,uCACC,cAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CACA,qBAAA,CACA,YAAA,CACA,WAAA,CACA,2DAAA,CACA,wCAAA,CACA,6CAAA,CAEA,qDAAA,CAGD,sCACC,iBAAA,CACA,YAAA,CACA,QAAA,CACA,qBAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,mBAAA,CACA,+BAAA,CACA,gDAAA,CAGD,uCACC,aAAA,CACA,WAAA,CACA,4BAAA,CACA,eAAA,CACA,8BAAA,CACA,sDACC,gBAAA,CAKH,0CACC,8BACC,UCvDe,CDyDf,uCACC,UC1Dc,CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n.header-menu {\n\tposition: relative;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\n\t&__trigger {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--header-height);\n\t\theight: var(--header-height);\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\topacity: .85;\n\n\t\t// header is filled with primary or image background\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t&__trigger:focus-visible {\n\t\toutline: none;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tright: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tpadding: 8px;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tleft: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\n\t.header-menu {\n\t\twidth: $clickable-area;\n\n\t\t&__trigger {\n\t\t\twidth: $clickable-area;\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},8973:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-a3da3488]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-a3da3488]{display:flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;opacity:1}.icon-vue[data-v-a3da3488] svg{fill:currentColor;max-width:20px;max-height:20px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,cAAA,CACA,eAAA,CACA,SAAA,CAEA,+BACC,iBAAA,CACA,cAAA,CACA,eAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.icon-vue {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 44px;\n\tmin-height: 44px;\n\topacity: 1;\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\tmax-width: 20px;\n\t\tmax-height: 20px;\n\t}\n}\n"],sourceRoot:""}]);const s=o},4326:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-474d33a2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-474d33a2]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-474d33a2]{height:36px;position:relative}.input-field__input[data-v-474d33a2]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-474d33a2]:active:not([disabled]),.input-field__input[data-v-474d33a2]:hover:not([disabled]),.input-field__input[data-v-474d33a2]:focus:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-474d33a2]:focus{cursor:text}.input-field__input[data-v-474d33a2]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-474d33a2]{border-color:var(--color-success) !important}.input-field__input--success[data-v-474d33a2]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-474d33a2]{border-color:var(--color-error) !important}.input-field__input--error[data-v-474d33a2]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-474d33a2]{padding-left:28px}.input-field__input--trailing-icon[data-v-474d33a2]{padding-right:28px}.input-field__label[data-v-474d33a2]{padding:4px 0;display:block}.input-field__label--hidden[data-v-474d33a2]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-474d33a2]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-474d33a2]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-474d33a2]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-474d33a2]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-474d33a2]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-474d33a2]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-474d33a2]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-474d33a2]{color:var(--color-success)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcInputField/NcInputField.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,gDAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,kLAGC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.input-field {\n\tposition: relative;\n\twidth: 100%;\n\tborder-radius: var(--border-radius-large);\n\n\t&__main-wrapper {\n\t\theight: 36px;\n\t\tposition: relative;\n\t}\n\n\t&__input {\n\t\tmargin: 0;\n\t\tpadding: 0 12px;\n\t\tfont-size: var(--default-font-size);\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\theight: 36px !important;\n\t\tborder-radius: var(--border-radius-large);\n\t\ttext-overflow: ellipsis;\n\t\tcursor: pointer;\n\t\twidth: 100%;\n\t\t-webkit-appearance: textfield !important;\n\t\t-moz-appearance: textfield !important;\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--success {\n\t\t\tborder-color: var(--color-success) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\tborder-color: var(--color-error) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--leading-icon {\n\t\t\tpadding-left: 28px;\n\t\t}\n\n\t\t&--trailing-icon {\n\t\t\tpadding-right: 28px;\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tleft: -10000px;\n\t\t\ttop: auto;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tposition: absolute;\n\t\theight: 32px;\n\t\twidth: 32px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: 0.7;\n\t\t&--leading {\n\t\t\tbottom: 2px;\n\t\t\tleft: 2px;\n\t\t}\n\n\t\t&--trailing {\n\t\t\tbottom: 2px;\n\t\t\tright: 2px;\n\t\t}\n\t}\n\n\t&__clear-button.button-vue {\n\t\tposition: absolute;\n\t\ttop: 2px;\n\t\tright: 1px;\n\t\tmin-width: unset;\n\t\tmin-height: unset;\n\t\theight: 32px;\n\t\twidth: 32px !important;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success);\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},3408:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-f418ea78]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.list-item__wrapper[data-v-f418ea78]{position:relative;width:100%}.list-item__wrapper--active .list-item[data-v-f418ea78],.list-item__wrapper:active .list-item[data-v-f418ea78],.list-item__wrapper.active .list-item[data-v-f418ea78]{background-color:var(--color-primary-element-light)}.list-item[data-v-f418ea78]{display:block;position:relative;flex:0 0 auto;justify-content:flex-start;padding:8px;border-radius:32px;margin:2px 0;width:100%;cursor:pointer;transition:background-color var(--animation-quick) ease-in-out;list-style:none}.list-item[data-v-f418ea78]:hover,.list-item[data-v-f418ea78]:focus{background-color:var(--color-background-hover)}.list-item-content__wrapper[data-v-f418ea78]{display:flex;align-items:center;height:48px}.list-item-content__wrapper--compact[data-v-f418ea78]{height:36px}.list-item-content__wrapper--compact .line-one[data-v-f418ea78],.list-item-content__wrapper--compact .line-two[data-v-f418ea78]{margin-top:-4px;margin-bottom:-4px}.list-item-content[data-v-f418ea78]{display:flex;flex:1 1 auto;justify-content:space-between;padding-left:8px}.list-item-content__main[data-v-f418ea78]{flex:1 1 auto;width:0;margin:auto 0}.list-item-content__main--oneline[data-v-f418ea78]{display:flex}.list-item-content__actions[data-v-f418ea78]{flex:0 0 auto;align-self:center;justify-content:center;margin-left:4px}.list-item__extra[data-v-f418ea78]{margin-top:4px}[data-themes*=highcontrast] .list-item__wrapper--active .list-item[data-v-f418ea78],[data-themes*=highcontrast] .list-item__wrapper:active .list-item[data-v-f418ea78],[data-themes*=highcontrast] .list-item__wrapper.active .list-item[data-v-f418ea78]{background-color:var(--color-primary-element-light-hover)}.line-one[data-v-f418ea78]{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:0 auto 0 0;overflow:hidden}.line-one__title[data-v-f418ea78]{overflow:hidden;flex-grow:1;cursor:pointer;text-overflow:ellipsis;color:var(--color-main-text);font-weight:bold}.line-one__details[data-v-f418ea78]{color:var(--color-text-maxcontrast);margin:0 8px;font-weight:normal}.line-two[data-v-f418ea78]{display:flex;align-items:flex-start;justify-content:space-between;white-space:nowrap}.line-two--bold[data-v-f418ea78]{font-weight:bold}.line-two__subtitle[data-v-f418ea78]{overflow:hidden;flex-grow:1;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.line-two__additional_elements[data-v-f418ea78]{margin:2px 4px 0 4px;display:flex;align-items:center}.line-two__indicator[data-v-f418ea78]{margin:0 5px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcListItem/NcListItem.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qCACC,iBAAA,CACA,UAAA,CAKC,sKACC,mDAAA,CAMH,4BACC,aAAA,CACA,iBAAA,CACA,aAAA,CACA,0BAAA,CACA,WAAA,CAGA,kBAAA,CACA,YAAA,CACA,UAAA,CACA,cAAA,CACA,8DAAA,CACA,eAAA,CACA,oEAEC,8CAAA,CAGD,6CACC,YAAA,CACA,kBAAA,CACA,WAAA,CAEA,sDACC,WAAA,CAEA,gIACC,eAAA,CACA,kBAAA,CAKH,oCACC,YAAA,CACA,aAAA,CACA,6BAAA,CACA,gBAAA,CAEA,0CACC,aAAA,CACA,OAAA,CACA,aAAA,CAEA,mDACC,YAAA,CAIF,6CACC,aAAA,CACA,iBAAA,CACA,sBAAA,CACA,eAAA,CAIF,mCACC,cAAA,CAUC,0PACC,yDAAA,CAMJ,2BACC,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,kBAAA,CACA,iBAAA,CACA,eAAA,CAEA,kCACC,eAAA,CACA,WAAA,CACA,cAAA,CACA,sBAAA,CACA,4BAAA,CACA,gBAAA,CAGD,oCACC,mCAAA,CACA,YAAA,CACA,kBAAA,CAIF,2BACC,YAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,iCACC,gBAAA,CAGD,qCACC,eAAA,CACA,WAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,gDACC,oBAAA,CACA,YAAA,CACA,kBAAA,CAGD,sCACC,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.list-item__wrapper {\n\tposition: relative;\n\twidth: 100%;\n\n\t&--active,\n\t&:active,\n\t&.active {\n\t\t.list-item {\n\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t}\n\t}\n}\n\n// NcListItem\n.list-item {\n\tdisplay: block;\n\tposition: relative;\n\tflex: 0 0 auto;\n\tjustify-content: flex-start;\n\tpadding: 8px;\n\t// Fix for border-radius being too large for 3-line entries like in Mail\n\t// 44px avatar size / 2 + 8px padding, and 2px for better visual quality\n\tborder-radius: 32px;\n\tmargin: 2px 0;\n\twidth: 100%;\n\tcursor: pointer;\n\ttransition: background-color var(--animation-quick) ease-in-out;\n\tlist-style: none;\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&-content__wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 48px;\n\n\t\t&--compact {\n\t\t\theight: 36px;\n\n\t\t\t.line-one, .line-two {\n\t\t\t\tmargin-top: -4px;\n\t\t\t\tmargin-bottom: -4px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\tflex: 1 1 auto;\n\t\tjustify-content: space-between;\n\t\tpadding-left: 8px;\n\n\t\t&__main {\n\t\t\tflex: 1 1 auto;\n\t\t\twidth: 0;\n\t\t\tmargin: auto 0;\n\n\t\t\t&--oneline {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tflex: 0 0 auto;\n\t\t\talign-self: center;\n\t\t\tjustify-content: center;\n\t\t\tmargin-left: 4px;\n\t\t}\n\t}\n\n\t&__extra {\n\t\tmargin-top: 4px;\n\t}\n}\n\n// Add more contrast for active entry\n[data-themes*='highcontrast'] {\n\t.list-item__wrapper {\n\t\t&--active,\n\t\t&:active,\n\t\t&.active {\n\t\t\t.list-item {\n\t\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.line-one {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\twhite-space: nowrap;\n\tmargin: 0 auto 0 0;\n\toverflow: hidden;\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tflex-grow: 1;\n\t\tcursor: pointer;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-main-text);\n\t\tfont-weight: bold;\n\t}\n\n\t&__details {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin: 0 8px;\n\t\tfont-weight: normal;\n\t}\n}\n\n.line-two {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: space-between;\n\twhite-space: nowrap;\n\t&--bold {\n\t\tfont-weight: bold;\n\t}\n\n\t&__subtitle {\n\t\toverflow: hidden;\n\t\tflex-grow: 1;\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__additional_elements {\n\t\tmargin: 2px 4px 0 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t&__indicator {\n\t\tmargin: 0 5px;\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},808:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-4f3daf70]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-4f3daf70]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-4f3daf70]{margin-right:var(--margin)}.option__details[data-v-4f3daf70]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-4f3daf70]{color:var(--color-main-text)}.option__linetwo[data-v-4f3daf70]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-4f3daf70],.option__linetwo strong[data-v-4f3daf70]{font-weight:bold}.option__icon[data-v-4f3daf70]{width:44px;height:44px;color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-4f3daf70]{flex:0 0 44px;opacity:.7;background-position:center;background-size:16px}.option__details[data-v-4f3daf70],.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70],.option__icon[data-v-4f3daf70]{cursor:inherit}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcListItemIcon/NcListItemIcon.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,UAAA,CACA,oBAAA,CACA,cAAA,CAEA,iCACC,0BAAA,CAGD,kCACC,YAAA,CACA,QAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAGD,kCACC,4BAAA,CAGD,kCACC,mCAAA,CAGD,oEAEC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,kFACC,gBAAA,CAIF,+BACC,UChBe,CDiBf,WCjBe,CDkBf,mCAAA,CACA,oCACC,aAAA,CACA,UCHc,CDId,0BAAA,CACA,oBAAA,CAIF,qIAIC,cAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\tcursor: inherit;\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-main-text);\n\t}\n\n\t&__linetwo {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\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\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t&.icon {\n\t\t\tflex: 0 0 $clickable-area;\n\t\t\topacity: $opacity_normal;\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: 16px;\n\t\t}\n\t}\n\n\t&__details,\n\t&__lineone,\n\t&__linetwo,\n\t&__icon {\n\t\tcursor: inherit;\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},5030:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-c4a9cada]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-c4a9cada]{animation:rotate var(--animation-duration, 0.8s) linear infinite}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcLoadingIcon/NcLoadingIcon.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,gEAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.loading-icon svg{\n\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\n}\n"],sourceRoot:""}]);const s=o},4274:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,'.material-design-icon[data-v-09b21bad]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-09b21bad]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-09b21bad]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-09b21bad]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;overflow:hidden;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*="display:none"][data-v-09b21bad],.modal-header.invisible[style*="display: none"][data-v-09b21bad]{visibility:hidden}.modal-header .modal-title[data-v-09b21bad]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px;margin-bottom:0}@media only screen and (min-width: 1024px){.modal-header .modal-title[data-v-09b21bad]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-09b21bad]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-09b21bad]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-09b21bad]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-09b21bad]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons__pause[data-v-09b21bad]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-09b21bad]{color:#fff}.modal-header .icons-menu[data-v-09b21bad] .action-item{margin:3px}.modal-header .icons-menu[data-v-09b21bad] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-09b21bad] button{color:#fff}.modal-header .icons-menu[data-v-09b21bad] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-09b21bad] .action-item__menutoggle span,.modal-header .icons-menu[data-v-09b21bad] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-09b21bad]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-09b21bad],.modal-wrapper .next[data-v-09b21bad]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-element-text)}.modal-wrapper .prev[data-v-09b21bad]:focus-visible,.modal-wrapper .next[data-v-09b21bad]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*="display:none"][data-v-09b21bad],.modal-wrapper .prev.invisible[style*="display: none"][data-v-09b21bad],.modal-wrapper .next.invisible[style*="display:none"][data-v-09b21bad],.modal-wrapper .next.invisible[style*="display: none"][data-v-09b21bad]{visibility:hidden}.modal-wrapper .prev[data-v-09b21bad]{left:2px}.modal-wrapper .next[data-v-09b21bad]{right:2px}.modal-wrapper .modal-container[data-v-09b21bad]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-09b21bad]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-09b21bad]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-09b21bad]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-09b21bad]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-09b21bad]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-09b21bad]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-09b21bad],.fade-leave-active[data-v-09b21bad]{transition:opacity 250ms}.fade-enter[data-v-09b21bad],.fade-leave-to[data-v-09b21bad]{opacity:0}.fade-visibility-enter[data-v-09b21bad],.fade-visibility-leave-to[data-v-09b21bad]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-09b21bad],.modal-in-leave-active[data-v-09b21bad],.modal-out-enter-active[data-v-09b21bad],.modal-out-leave-active[data-v-09b21bad]{transition:opacity 250ms}.modal-in-enter[data-v-09b21bad],.modal-in-leave-to[data-v-09b21bad],.modal-out-enter[data-v-09b21bad],.modal-out-leave-to[data-v-09b21bad]{opacity:0}.modal-in-enter .modal-container[data-v-09b21bad],.modal-in-leave-to .modal-container[data-v-09b21bad]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-09b21bad],.modal-out-leave-to .modal-container[data-v-09b21bad]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-09b21bad]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-09b21bad]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-09b21bad linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-09b21bad]{animation:breath-09b21bad 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-09b21bad]{animation-play-state:paused !important}@keyframes progressring-09b21bad{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-09b21bad{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcModal/NcModal.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,eAAA,CACA,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cChBY,CDiBZ,eAAA,CAID,2CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UC3Ba,CD4Bb,WC5Ba,CD6Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC9CU,CD+CV,kBAAA,CACA,sCCxDW,CD2Db,uIAEC,qBAAA,CACA,UCzEa,CD0Eb,WC1Ea,CD2Eb,UAAA,CACA,cAAA,CACA,UC3Da,CD+Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UC1Fa,CD2Fb,WC3Fa,CD4Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,uCAAA,CAEA,wGAEC,sDAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC7Ka,CD8Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC1La,CD2Lb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.modal-mask {\n\tposition: fixed;\n\tz-index: 9998;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, .5);\n\t&--dark {\n\t\tbackground-color: rgba(0, 0, 0, .92);\n\t}\n}\n\n.modal-header {\n\tposition: absolute;\n\tz-index: 10001;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\t// prevent vue show to use display:none and reseting\n\t// the circle animation loop\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\theight: $header-height;\n\toverflow: hidden;\n\ttransition: opacity 250ms,\n\t\tvisibility 250ms;\n\n\t// replace display by visibility\n\t&.invisible[style*='display:none'],\n\t&.invisible[style*='display: none'] {\n\t\tvisibility: hidden;\n\t}\n\n\t.modal-title {\n\t\toverflow-x: hidden;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\n\t\ttransition: padding ease 100ms;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: #fff;\n\t\tfont-size: $icon-margin;\n\t\tmargin-bottom: 0;\n\t}\n\n\t// On wider screens the title can be centered\n\t@media only screen and (min-width: $breakpoint-mobile) {\n\t\t.modal-title {\n\t\t\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.icons-menu {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\t.header-close {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.play-pause-icons {\n\t\t\tposition: relative;\n\t\t\twidth: $header-height;\n\t\t\theight: $header-height;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.play-pause-icons__play,\n\t\t\t\t.play-pause-icons__pause {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t\t\t\tbackground-color: $icon-focus-bg;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__play,\n\t\t\t&__pause {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\t\t\t\tcursor: pointer;\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t}\n\n\t\t.header-actions {\n\t\t\tcolor: white;\n\t\t}\n\n\t\t&:deep() .action-item {\n\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\n\t\t\t&--single {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-size: 22px;\n\t\t\t}\n\t\t}\n\n\t\t:deep(button) {\n\t\t\t// force white instead of default main text\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t// Force the Actions menu icon to be the same size as other icons\n\t\t&:deep(.action-item__menutoggle) {\n\t\t\tpadding: 0;\n\t\t\tspan, svg {\n\t\t\t\twidth: var(--icon-size);\n\t\t\t\theight: var(--icon-size);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.modal-wrapper {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\n\t/* Navigation buttons */\n\t.prev,\n\t.next {\n\t\tz-index: 10000;\n\t\t// ignore display: none\n\t\tdisplay: flex !important;\n\t\theight: 35vw;\n\t\tposition: absolute;\n\t\ttransition: opacity 250ms,\n\t\t\tvisibility 250ms;\n\t\tcolor: var(--color-primary-element-text);\n\n\t\t&:focus-visible {\n\t\t\t// Override NcButton focus styles\n\t\t\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-box-shadow);\n\t\t}\n\n\t\t// we want to keep the elements on page\n\t\t// even if hidden to avoid having a unbalanced\n\t\t// centered content\n\t\t// replace display by visibility\n\t\t&.invisible[style*='display:none'],\n\t\t&.invisible[style*='display: none'] {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\t.prev {\n\t\tleft: 2px;\n\t}\n\t.next {\n\t\tright: 2px;\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tposition: relative;\n\t\tdisplay: block;\n\t\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\n\t\tpadding: 0;\n\t\ttransition: transform 300ms ease;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\t\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\n\t\t&__close {\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tright: 4px;\n\t\t}\n\t}\n\n\t// Sizing\n\t&--small {\n\t\t.modal-container {\n\t\t\twidth: 400px;\n\t\t\tmax-width: 90%;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--normal {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 600px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--large {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 900px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--full {\n\t\t.modal-container {\n\t\t\twidth: 100%;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t// Make modal full screen on mobile\n\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\n\t\t.modal-container {\n\t\t\tmax-width: initial;\n\t\t\twidth: 100%;\n\t\t\tmax-height: initial;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n/* TRANSITIONS */\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-visibility-enter,\n.fade-visibility-leave-to {\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.modal-in-enter-active,\n.modal-in-leave-active,\n.modal-out-enter-active,\n.modal-out-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.modal-in-enter,\n.modal-in-leave-to,\n.modal-out-enter,\n.modal-out-leave-to {\n\topacity: 0;\n}\n\n.modal-in-enter .modal-container,\n.modal-in-leave-to .modal-container {\n\ttransform: scale(.9);\n}\n\n.modal-out-enter .modal-container,\n.modal-out-leave-to .modal-container {\n\ttransform: scale(1.1);\n}\n\n// animated circle\n$radius: 15;\n$pi: 3.14159265358979;\n\n.modal-mask .play-pause-icons {\n\t.progress-ring {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\ttransform: rotate(-90deg);\n\t\t.progress-ring__circle {\n\t\t\ttransition: 100ms stroke-dashoffset;\n\t\t\ttransform-origin: 50% 50%; // axis compensation\n\t\t\tanimation: progressring linear var(--slideshow-duration) infinite;\n\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t\t\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\n\t\t}\n\t}\n\t&--paused {\n\t\t.icon-pause {\n\t\t\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\n\t\t}\n\t\t.progress-ring__circle {\n\t\t\tanimation-play-state: paused !important;\n\t\t}\n\t}\n}\n\n// keyframes get scoped too and break the animation name, we need them unscoped\n@keyframes progressring {\n\tfrom {\n\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t}\n\tto {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes breath {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},3621:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-141377ba]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.notecard[data-v-141377ba]{color:var(--color-main-text) !important;background-color:var(--note-background) !important;border-inline-start:4px solid var(--note-theme);border-radius:var(--border-radius);margin:1rem 0;margin-top:1rem;padding:1rem;display:flex;flex-direction:row;gap:1rem}.notecard__icon--heading[data-v-141377ba]{margin-bottom:auto;margin-top:.3rem}.notecard--success[data-v-141377ba]{--note-background: rgba(var(--color-success-rgb), 0.1);--note-theme: var(--color-success)}.notecard--error[data-v-141377ba]{--note-background: rgba(var(--color-error-rgb), 0.1);--note-theme: var(--color-error)}.notecard--warning[data-v-141377ba]{--note-background: rgba(var(--color-warning-rgb), 0.1);--note-theme: var(--color-warning)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcNoteCard/NcNoteCard.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,uCAAA,CACA,kDAAA,CACA,+CAAA,CACA,kCAAA,CACA,aAAA,CACA,eAAA,CACA,YAAA,CACA,YAAA,CACA,kBAAA,CACA,QAAA,CAEA,0CACC,kBAAA,CACA,gBAAA,CAGD,oCACC,sDAAA,CACA,kCAAA,CAGD,kCACC,oDAAA,CACA,gCAAA,CAGD,oCACC,sDAAA,CACA,kCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.notecard {\n\tcolor: var(--color-main-text) !important;\n\tbackground-color: var(--note-background) !important;\n\tborder-inline-start: 4px solid var(--note-theme);\n\tborder-radius: var(--border-radius);\n\tmargin: 1rem 0;\n\tmargin-top: 1rem;\n\tpadding: 1rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: 1rem;\n\n\t&__icon--heading {\n\t\tmargin-bottom: auto;\n\t\tmargin-top: 0.3rem;\n\t}\n\n\t&--success {\n\t\t--note-background: rgba(var(--color-success-rgb), 0.1);\n\t\t--note-theme: var(--color-success);\n\t}\n\n\t&--error {\n\t\t--note-background: rgba(var(--color-error-rgb), 0.1);\n\t\t--note-theme: var(--color-error);\n\t}\n\n\t&--warning {\n\t\t--note-background: rgba(var(--color-warning-rgb), 0.1);\n\t\t--note-theme: var(--color-warning);\n\t}\n}\n"],sourceRoot:""}]);const s=o},1625:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius-large);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopover/NcPopover.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,wCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},2:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-31ffd2d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-31ffd2d4]{display:flex;flex-direction:column;gap:4px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopoverMenu/NcPopoverMenu.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,qBAAA,CACA,OAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n}\n"],sourceRoot:""}]);const s=o},408:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,'.material-design-icon[data-v-127b0c62]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-127b0c62]{display:flex;flex:0 0 auto}li.hidden[data-v-127b0c62]{display:none}li>button[data-v-127b0c62],li>a[data-v-127b0c62],li>.menuitem[data-v-127b0c62]{cursor:pointer;line-height:44px;border:0;background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=" icon-"][data-v-127b0c62],li>button[class^=icon-][data-v-127b0c62],li>button[class*=" icon-"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=" icon-"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=" icon-"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=" icon-"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=" icon-"][data-v-127b0c62]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=" icon-"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=" icon-"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=" icon-"][data-v-127b0c62]{padding:22px 0 22px 44px}li>button:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child{margin-left:44px}li>button[class^=icon-][data-v-127b0c62],li>button[class*=" icon-"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=" icon-"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=" icon-"][data-v-127b0c62]{padding:0 14px 0 44px}li>button[data-v-127b0c62]:not(:disabled):hover,li>button[data-v-127b0c62]:not(:disabled):focus,li>button:not(:disabled).active[data-v-127b0c62],li>a[data-v-127b0c62]:not(:disabled):hover,li>a[data-v-127b0c62]:not(:disabled):focus,li>a:not(:disabled).active[data-v-127b0c62],li>.menuitem[data-v-127b0c62]:not(:disabled):hover,li>.menuitem[data-v-127b0c62]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-127b0c62]{opacity:1 !important}li>button.action[data-v-127b0c62],li>a.action[data-v-127b0c62],li>.menuitem.action[data-v-127b0c62]{padding:inherit !important}li>button>span[data-v-127b0c62],li>a>span[data-v-127b0c62],li>.menuitem>span[data-v-127b0c62]{cursor:pointer;white-space:nowrap}li>button>p[data-v-127b0c62],li>a>p[data-v-127b0c62],li>.menuitem>p[data-v-127b0c62]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-127b0c62],li>a>select[data-v-127b0c62],li>.menuitem>select[data-v-127b0c62]{margin:0;margin-left:6px}li>button[data-v-127b0c62]:not(:empty),li>a[data-v-127b0c62]:not(:empty),li>.menuitem[data-v-127b0c62]:not(:empty){padding-right:14px !important}li>button>img[data-v-127b0c62],li>a>img[data-v-127b0c62],li>.menuitem>img[data-v-127b0c62]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-127b0c62],li>button>input.checkbox+label[data-v-127b0c62],li>a>input.radio+label[data-v-127b0c62],li>a>input.checkbox+label[data-v-127b0c62],li>.menuitem>input.radio+label[data-v-127b0c62],li>.menuitem>input.checkbox+label[data-v-127b0c62]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-127b0c62]::before,li>a>input.checkbox+label[data-v-127b0c62]::before,li>.menuitem>input.checkbox+label[data-v-127b0c62]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-127b0c62]::before,li>a>input.radio+label[data-v-127b0c62]::before,li>.menuitem>input.radio+label[data-v-127b0c62]::before{margin:-2px 12px 0}li>button>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-127b0c62],li>a form[data-v-127b0c62],li>.menuitem form[data-v-127b0c62]{display:flex;flex:1 1 auto}li>button form[data-v-127b0c62]:not(:first-child),li>a form[data-v-127b0c62]:not(:first-child),li>.menuitem form[data-v-127b0c62]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-127b0c62],li>button>span[style*="display:none"]+form[data-v-127b0c62],li>a>span.hidden+form[data-v-127b0c62],li>a>span[style*="display:none"]+form[data-v-127b0c62],li>.menuitem>span.hidden+form[data-v-127b0c62],li>.menuitem>span[style*="display:none"]+form[data-v-127b0c62]{margin-left:0}li>button input[data-v-127b0c62],li>a input[data-v-127b0c62],li>.menuitem input[data-v-127b0c62]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-127b0c62]:not(:first-child),li>a input[data-v-127b0c62]:not(:first-child),li>.menuitem input[data-v-127b0c62]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*="display:none"]):first-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input[data-v-127b0c62]{margin-top:12px}li:not(.hidden):not([style*="display:none"]):last-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input[data-v-127b0c62]{margin-bottom:12px}li>button[data-v-127b0c62]{padding:0}li>button span[data-v-127b0c62]{opacity:1}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,aAAA,CAEA,2BACC,YAAA,CAGD,+EAGC,cAAA,CACA,gBCWe,CDVf,QAAA,CACA,8BAAA,CACA,YAAA,CACA,sBAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBAAA,CACA,eAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,UCgBe,CDbf,ohBAIC,WAAA,CACA,YAAA,CACA,+BAAA,CACA,oBCRS,CDWV,yRAIC,wBAAA,CAQC,ylCACC,gBC5BY,CDiCf,2PAEC,qBAAA,CAGD,6aAGC,oBAAA,CAID,oGACC,0BAAA,CAGD,8FACC,cAAA,CACA,kBAAA,CAID,qFACC,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CAGA,eAAA,CACA,sBAAA,CAID,oGACC,QAAA,CACA,eAAA,CAID,mHACC,6BAAA,CAKD,2FACC,UC5ES,CD6ET,WC7ES,CD8ET,WC1EW,CD8EZ,mRAEC,oBAAA,CACA,UAAA,CAED,sKACC,kBAAA,CAED,6JACC,kBAAA,CAED,4QACC,WAAA,CAID,8FACC,YAAA,CACA,aAAA,CAGA,oJACC,eAAA,CAIF,oTAEC,aAAA,CAGD,iGACC,cCtHc,CDuHd,eAAA,CACA,YAAA,CACA,aAAA,CAEA,uJACC,eAAA,CAUA,+gBACC,eAAA,CAMD,ygBACC,kBAAA,CAKJ,2BACC,SAAA,CACA,gCACC,SCnIY",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},8235:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-67f460e0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.progress-bar[data-v-67f460e0]{display:block;height:var(--progress-bar-height);width:100%;overflow:hidden;border:0;padding:0;background:var(--color-background-dark);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar[data-v-67f460e0]::-webkit-progress-bar{height:var(--progress-bar-height);background-color:rgba(0,0,0,0)}.progress-bar[data-v-67f460e0]::-webkit-progress-value{background:var(--gradient-primary-background);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar[data-v-67f460e0]::-moz-progress-bar{background:var(--gradient-primary-background);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar--error[data-v-67f460e0]::-moz-progress-bar{background:var(--color-error) !important}.progress-bar--error[data-v-67f460e0]::-webkit-progress-value{background:var(--color-error) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcProgressBar/NcProgressBar.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,aAAA,CACA,iCAAA,CACA,UAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,uCAAA,CACA,gDAAA,CAGA,qDACC,iCAAA,CACA,8BAAA,CAED,uDACC,6CAAA,CACA,gDAAA,CAED,kDACC,6CAAA,CACA,gDAAA,CAIA,yDACC,wCAAA,CAED,8DACC,wCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.progress-bar {\n\tdisplay: block;\n\theight: var(--progress-bar-height);\n\twidth: 100%;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tbackground: var(--color-background-dark);\n\tborder-radius: calc(var(--progress-bar-height) / 2);\n\n\t// Browser specific rules\n\t&::-webkit-progress-bar {\n\t\theight: var(--progress-bar-height);\n\t\tbackground-color: transparent;\n\t}\n\t&::-webkit-progress-value {\n\t\tbackground: var(--gradient-primary-background);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t}\n\t&::-moz-progress-bar {\n\t\tbackground: var(--gradient-primary-background);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t}\n\t&--error {\n\t\t// Override previous values\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},3622:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-4ef94dc9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.related-resources__header[data-v-4ef94dc9]{margin:0 0 10px 46px}.related-resources__header h5[data-v-4ef94dc9]{font-weight:bold}.related-resources__header p[data-v-4ef94dc9]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLA,4CACC,oBAAA,CAEA,+CACC,gBAAA,CAGD,8CACC,mCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.related-resources {\n\t&__header {\n\t\tmargin: 0 0 10px 46px;\n\n\t\th5 {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},1466:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-257d6aeb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resource[data-v-257d6aeb]{display:flex;align-items:center;height:44px}.resource__button[data-v-257d6aeb]{width:100% !important;justify-content:flex-start !important;padding:0 !important}.resource__button[data-v-257d6aeb] .button-vue__wrapper{justify-content:flex-start !important}.resource__button[data-v-257d6aeb] .button-vue__wrapper .button-vue__text{font-weight:normal !important;margin-left:2px !important}.resource__icon[data-v-257d6aeb]{width:32px;height:32px;background-color:var(--color-text-maxcontrast);border-radius:50%;display:flex;align-items:center;justify-content:center}.resource__icon img[data-v-257d6aeb]{width:16px;height:16px;filter:var(--background-invert-if-dark)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRelatedResourcesPanel/NcResource.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,kBAAA,CACA,WAAA,CAGA,mCACC,qBAAA,CACA,qCAAA,CACA,oBAAA,CAGC,wDACC,qCAAA,CAEA,0EACC,6BAAA,CACA,0BAAA,CAMJ,iCACC,UAAA,CACA,WAAA,CACA,8CAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,qCACC,UAAA,CACA,WAAA,CACA,uCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.resource {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 100% !important;\n\t\tjustify-content: flex-start !important;\n\t\tpadding: 0 !important;\n\n\t\t&:deep {\n\t\t\t.button-vue__wrapper {\n\t\t\t\tjustify-content: flex-start !important;\n\n\t\t\t\t.button-vue__text {\n\t\t\t\t\tfont-weight: normal !important;\n\t\t\t\t\tmargin-left: 2px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__icon {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},6956:(t,e,n)=>{n.d(e,{Z:()=>m});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),A=new URL(n(2605),n.b),d=new URL(n(7127),n.b),u=o()(i()),p=l()(c),h=l()(A),T=l()(d);u.push([t.id,".material-design-icon[data-v-800c95ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-800c95ae]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-800c95ae]{color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.highlight .autocomplete-result[data-v-800c95ae],.highlight .autocomplete-result *[data-v-800c95ae]{cursor:pointer}.autocomplete-result__icon[data-v-800c95ae]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-800c95ae]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-800c95ae]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-800c95ae]{background-image:url("+p+")}.autocomplete-result__status--dnd[data-v-800c95ae]{background-image:url("+h+");background-color:#fff}.autocomplete-result__status--away[data-v-800c95ae]{background-image:url("+T+")}.autocomplete-result__status--icon[data-v-800c95ae]{border:none;background-color:rgba(0,0,0,0)}.autocomplete-result__content[data-v-800c95ae]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-800c95ae],.autocomplete-result__subline[data-v-800c95ae]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-800c95ae]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcAutoCompleteResult.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,sCACC,YAAA,CACA,WCmBgB,CDlBhB,YALsB,CAOtB,iDACC,6CAAA,CACA,6CAAA,CACA,oGACC,cAAA,CAIF,4CACC,iBAAA,CACA,aAAA,CACA,UCKe,CDJf,cCIe,CDHf,WCGe,CDFf,kBCEe,CDDf,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CACA,yDACC,aAAA,CACA,qBAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,6CAAA,CACA,iBAAA,CACA,6CAAA,CACA,kCAAA,CACA,gBAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CAEA,sDACC,wDAAA,CAED,mDACC,wDAAA,CACA,qBAAA,CAED,oDACC,wDAAA,CAED,oDACC,WAAA,CACA,8BAAA,CAIF,+CACC,YAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAtEqB,CAyEtB,4FAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAGD,+CACC,mCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n$autocomplete-padding: 10px;\n\n.autocomplete-result {\n\tdisplay: flex;\n\theight: $clickable-area;\n\tpadding: $autocomplete-padding;\n\n\t.highlight & {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground: var(--color-primary-element-light);\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: $clickable-area;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tbox-sizing: border-box;\n\t\twidth: 18px;\n\t\theight: 18px;\n\t\tborder: 2px solid var(--color-main-background);\n\t\tborder-radius: 50%;\n\t\tbackground-color: var(--color-main-background);\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: 15px;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex: 1 1 100%;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t\tpadding-left: $autocomplete-padding;\n\t}\n\n\t&__title,\n\t&__subline {\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__subline {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const m=u},5594:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-8a961b36]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-8a961b36]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-8a961b36]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-8a961b36]{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-8a961b36]{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-8a961b36]{color:inherit;background-size:cover}.mention-bubble__title[data-v-8a961b36]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-8a961b36]::before{content:attr(title)}.mention-bubble__select[data-v-8a961b36]{position:absolute;z-index:-1;left:-1000px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,uCAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\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-element-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: math.div($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: math.div($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(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},9773:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-7dd318b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-7dd318b8]{overflow-y:auto;width:auto;margin:0;padding:8px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:2px solid var(--color-border-dark);border-radius:var(--border-radius-large);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-7dd318b8]:before{content:attr(placeholder);color:var(--color-text-maxcontrast);position:absolute}.rich-contenteditable__input[contenteditable=false][data-v-7dd318b8]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:rgba(0,0,0,0);color:var(--color-main-text);border-color:rgba(0,0,0,0);opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-7dd318b8]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-7dd318b8]{opacity:.5;color:var(--color-text-maxcontrast);border:2px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,eAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,WAAA,CACA,oBAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,wCAAA,CACA,YAAA,CACA,6CAAA,CACA,4BAAA,CACA,iBAAA,CACA,eCOgB,CDNhB,gBAAA,CAGA,4DACC,yBAAA,CACA,mCAAA,CACA,iBAAA,CAGD,iHACC,cAAA,CACA,8BAAA,CACA,4BAAA,CACA,0BAAA,CACA,SAAA,CACA,eAAA,CAGD,yDACC,gBAAA,CAEA,eAAA,CAGD,wDACC,UCFiB,CDGjB,mCAAA,CACA,+CAAA,CACA,kCAAA,CACA,6CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// Standalone styling, independent from server\n.rich-contenteditable__input {\n\toverflow-y: auto;\n\twidth: auto;\n\tmargin: 0;\n\tpadding: 8px;\n\tcursor: text;\n\twhite-space: pre-wrap;\n\tword-break: break-word;\n\tcolor: var(--color-main-text);\n\tborder: 2px solid var(--color-border-dark);\n\tborder-radius: var(--border-radius-large);\n\toutline: none;\n\tbackground-color: var(--color-main-background);\n\tfont-family: var(--font-face);\n\tfont-size: inherit;\n\tmin-height: $clickable-area;\n\tmax-height: $clickable-area * 5.5;\n\n\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\n\t&--empty:before {\n\t\tcontent: attr(placeholder);\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tposition: absolute;\n\t}\n\n\t&[contenteditable='false']:not(&--disabled) {\n\t\tcursor: default;\n\t\tbackground-color: transparent;\n\t\tcolor: var(--color-main-text);\n\t\tborder-color: transparent;\n\t\topacity: 1;\n\t\tborder-radius: 0;\n\t}\n\n\t&--multiline {\n\t\tmin-height: $clickable-area * 3;\n\t\t// No max for mutiline\n\t\tmax-height: none;\n\t}\n\n\t&--disabled {\n\t\topacity: $opacity_disabled;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tborder: 2px solid var(--color-background-darker);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},2929:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji,.tribute-container-link{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji,.tribute-container-link{min-width:200px;max-width:200px;padding:4px;max-height:192.5px !important}.tribute-container-emoji__item,.tribute-container-link__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child,.tribute-container-link__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji,.tribute-container-link__item__emoji{padding-right:8px}.tribute-container-emoji .highlight,.tribute-container-link .highlight{opacity:1;color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *,.tribute-container-link .highlight,.tribute-container-link .highlight *{cursor:pointer}.tribute-container-link{min-width:200px;max-width:300px}.tribute-container-link__item{display:flex;align-items:center}.tribute-container-link__item__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-link__item__icon{margin:auto 0;width:20px;height:20px;object-fit:contain;padding-right:8px;filter:var(--background-invert-if-dark)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oEACC,YAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAGA,gBAAA,CAEA,YAAA,CACA,4BAAA,CACA,kCAAA,CACA,uCAAA,CACA,4CAAA,CAGD,iDACC,eAAA,CACA,eAAA,CACA,WAAA,CAEA,6BAAA,CAEA,6DACC,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CAGA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,mFACC,eAAA,CAGD,2EACC,iBAAA,CAIF,uEACC,SAAA,CACA,6CAAA,CACA,6CAAA,CACA,kJACC,cAAA,CAKH,wBACC,eAAA,CACA,eAAA,CACA,8BACC,YAAA,CACA,kBAAA,CACA,qCACC,kBAAA,CACA,eAAA,CACA,sBAAA,CAED,oCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,iBAAA,CACA,uCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.tribute-container, .tribute-container-emoji, .tribute-container-link {\n\tz-index: 9000;\n\toverflow: auto;\n\tmin-width: 250px;\n\tmax-width: 300px;\n\t// Show maximum 4 entries and a half to show scroll\n\t// 44px + 10px padding\n\tmax-height: ($clickable-area + 20px) * 4.5;\n\t// Space it out a bit from the text\n\tmargin: 5px 0;\n\tcolor: var(--color-main-text);\n\tborder-radius: var(--border-radius);\n\tbackground: var(--color-main-background);\n\tbox-shadow: 0 1px 5px var(--color-box-shadow);\n}\n\n.tribute-container-emoji, .tribute-container-link {\n\tmin-width: 200px;\n\tmax-width: 200px;\n\tpadding: 4px;\n\t// Show maximum 5 entries and a half to show scroll\n\tmax-height: 35px * 5 + math.div(35px, 2) !important;\n\n\t&__item {\n\t\tborder-radius: 8px;\n\t\tpadding: 4px 8px;\n\t\tmargin-bottom: 4px;\n\t\topacity: 0.8;\n\t\tcursor: pointer;\n\n\t\t// Take care of long names\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t&__emoji {\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t.highlight {\n\t\topacity: 1;\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground: var(--color-primary-element-light);\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n.tribute-container-link {\n\tmin-width: 200px;\n\tmax-width: 300px;\n\t&__item {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t&__label {\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\t\t&__icon {\n\t\t\tmargin: auto 0;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tobject-fit: contain;\n\t\t\tpadding-right: 8px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},122:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-36a4d5cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list.icon-loading[data-v-36a4d5cc]{min-height:44px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferenceList.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6CACC,eAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.widgets--list.icon-loading {\n\tmin-height: 44px;\n}\n"],sourceRoot:""}]);const s=o},9425:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-60e96d80]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}","",{version:3,sources:["webpack://./src/assets/material-icons.css"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA",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"],sourceRoot:""}]);const s=o},8883:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-50f3a10c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-50f3a10c]{width:100%;min-height:350px;padding:0 16px 16px 16px;display:flex;flex-direction:column}.provider-list--empty-content[data-v-50f3a10c]{margin-top:auto !important;margin-bottom:auto !important}.provider-list--select[data-v-50f3a10c]{width:100%}.provider-list--select .provider[data-v-50f3a10c]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-50f3a10c]{margin-right:8px}.provider-list--select .provider .provider-icon[data-v-50f3a10c]{width:20px;height:20px;object-fit:contain;margin-right:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-50f3a10c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcProviderList.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,UAAA,CACA,gBAAA,CACA,wBAAA,CACA,YAAA,CACA,qBAAA,CAEA,+CACC,0BAAA,CACA,6BAAA,CAGD,wCACC,UAAA,CAEA,kDACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,6DACC,gBAAA,CAGD,iEACC,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,uCAAA,CAGD,+DACC,eAAA,CACA,sBAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.provider-list {\n\twidth: 100%;\n\tmin-height: 350px;\n\tpadding: 0 16px 16px 16px;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&--empty-content {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t&--select {\n\t\twidth: 100%;\n\n\t\t.provider {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\theight: 28px;\n\t\t\toverflow: hidden;\n\n\t\t\t.link-icon {\n\t\t\t\tmargin-right: 8px;\n\t\t\t}\n\n\t\t\t.provider-icon {\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tobject-fit: contain;\n\t\t\t\tmargin-right: 8px;\n\t\t\t\tfilter: var(--background-invert-if-dark);\n\t\t\t}\n\n\t\t\t.option-text {\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},6068:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-2e61b91c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-2e61b91c]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto}.raw-link .input-wrapper[data-v-2e61b91c]{width:100%}.raw-link .reference-widget[data-v-2e61b91c]{display:flex}.raw-link--empty-content[data-v-2e61b91c]{margin-top:auto !important;margin-bottom:auto !important}.raw-link--empty-content .provider-icon[data-v-2e61b91c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-2e61b91c]{width:99%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,UAAA,CACA,gBAAA,CACA,YAAA,CACA,qBAAA,CACA,eAAA,CAEA,0CACC,UAAA,CAGD,6CACC,YAAA,CAGD,0CACC,0BAAA,CACA,6BAAA,CAEA,yDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAIF,kCACC,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.raw-link {\n\twidth: 100%;\n\tmin-height: 350px;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow-y: auto;\n\n\t.input-wrapper {\n\t\twidth: 100%;\n\t}\n\n\t.reference-widget {\n\t\tdisplay: flex;\n\t}\n\n\t&--empty-content {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\n\t\t.provider-icon {\n\t\t\twidth: 150px;\n\t\t\theight: 150px;\n\t\t\tobject-fit: contain;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n\n\t&--input {\n\t\twidth: 99%;\n\t}\n}\n"],sourceRoot:""}]);const s=o},34:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-9b2f661a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}.reference-picker .custom-element-wrapper[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePicker.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,2DACC,YAAA,CACA,eAAA,CACA,UAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.reference-picker {\n\tdisplay: flex;\n\toverflow-y: auto;\n\twidth: 100%;\n\n\t.custom-element-wrapper {\n\t\tdisplay: flex;\n\t\toverflow-y: auto;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]);const s=o},698:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal .modal-container{display:flex !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,uBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// this is to avoid scroll on the container and leave it to the result block\n.reference-picker-modal .modal-container {\n\tdisplay: flex !important;\n}\n"],sourceRoot:""}]);const s=o},6508:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-1f66021a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-1f66021a]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-1f66021a],.reference-picker-modal--content .back-button[data-v-1f66021a]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-1f66021a]{left:4px}.reference-picker-modal--content .close-button[data-v-1f66021a]{right:4px}.reference-picker-modal--content>h2[data-v-1f66021a]{display:flex;margin:12px 0 20px 0}.reference-picker-modal--content>h2 .icon[data-v-1f66021a]{margin-right:8px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,kDACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAEA,+HAEC,iBAAA,CACA,OAAA,CAED,+DACC,QAAA,CAED,gEACC,SAAA,CAGD,qDACC,YAAA,CACA,oBAAA,CACA,2DACC,gBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.reference-picker-modal--content {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\toverflow-y: auto;\n\n\t.close-button,\n\t.back-button {\n\t\tposition: absolute;\n\t\ttop: 4px;\n\t}\n\t.back-button {\n\t\tleft: 4px;\n\t}\n\t.close-button {\n\t\tright: 4px;\n\t}\n\n\t> h2 {\n\t\tdisplay: flex;\n\t\tmargin: 12px 0 20px 0;\n\t\t.icon {\n\t\t\tmargin-right: 8px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},2873:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-26e3248c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-26e3248c]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px 16px}.smart-picker-search.with-empty-content[data-v-26e3248c]{min-height:350px}.smart-picker-search--empty-content[data-v-26e3248c]{margin-top:auto !important;margin-bottom:auto !important}.smart-picker-search .provider-icon[data-v-26e3248c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-26e3248c]{width:100%}.smart-picker-search--select .search-result[data-v-26e3248c]{width:100%}.smart-picker-search--select .group-title-icon[data-v-26e3248c],.smart-picker-search--select .option-simple-icon[data-v-26e3248c]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-26e3248c]{height:44px;display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-26e3248c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-picker-search--select[data-v-26e3248c] .multiselect__content-wrapper{width:calc(100% - 4px) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcSearch.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,sCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,wBAAA,CACA,yDACC,gBAAA,CAGD,qDACC,0BAAA,CACA,6BAAA,CAGD,qDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAGD,8CACC,UAAA,CAEA,6DACC,UAAA,CAGD,kIAEC,UAAA,CACA,WAAA,CACA,oBAAA,CAGD,6DACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,2DACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAKD,4EACC,iCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.smart-picker-search {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 0 16px 16px 16px;\n\t&.with-empty-content {\n\t\tmin-height: 350px;\n\t}\n\n\t&--empty-content {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.provider-icon {\n\t\twidth: 150px;\n\t\theight: 150px;\n\t\tobject-fit: contain;\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t&--select {\n\t\twidth: 100%;\n\n\t\t.search-result {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.group-title-icon,\n\t\t.option-simple-icon {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tmargin: 0 20px 0 10px;\n\t\t}\n\n\t\t.custom-option {\n\t\t\theight: 44px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.option-text {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// multiselect dropdown is wider than the select input\n\t\t// this avoids overflow\n\t\t:deep(.multiselect__content-wrapper) {\n\t\t\twidth: calc(100% - 4px) !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},9052:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-7297c50a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-7297c50a]{display:flex;align-items:center;height:44px;overflow:hidden}.result--icon-class[data-v-7297c50a],.result--image[data-v-7297c50a]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-7297c50a],.result--image.rounded[data-v-7297c50a]{border-radius:50%}.result--content[data-v-7297c50a]{display:flex;flex-direction:column;padding-left:10px;overflow:hidden}.result--content--title[data-v-7297c50a],.result--content--subline[data-v-7297c50a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcSearchResult.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,qEAEC,UAAA,CACA,cAAA,CACA,WAAA,CACA,kBAAA,CAEA,qFACC,iBAAA,CAIF,kCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CAEA,oFAEC,eAAA,CACA,sBAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\toverflow: hidden;\n\n\t&--icon-class,\n\t&--image {\n\t\twidth: 40px;\n\t\tmin-width: 40px;\n\t\theight: 40px;\n\t\tobject-fit: contain;\n\n\t\t&.rounded {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n\n\t&--content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding-left: 10px;\n\t\toverflow: hidden;\n\n\t\t&--title,\n\t\t&--subline {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=o},1880:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-4be6aca8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-access[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;padding:calc(var(--default-grid-baseline, 4px)*3)}.widget-default[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-default--compact[data-v-4be6aca8]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-4be6aca8]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-4be6aca8]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px)*2);padding-bottom:calc(var(--default-grid-baseline, 4px)*2)}.widget-default--compact .widget-default--description[data-v-4be6aca8]{display:none}.widget-default--image[data-v-4be6aca8]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--title[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold}.widget-default--details[data-v-4be6aca8]{padding:calc(var(--default-grid-baseline, 4px)*3);width:60%}.widget-default--details p[data-v-4be6aca8]{margin:0;padding:0}.widget-default--description[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-4be6aca8]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferenceWidget.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCOD,gCAXC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAOD,gCAfC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CASA,iDAAA,CAGD,iCApBC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAeA,0CACC,qBAAA,CAEA,iEACC,UAAA,CACA,YAAA,CAGD,mEACC,UAAA,CACA,qDAAA,CACA,wDAAA,CAGD,uEACC,YAAA,CAKF,wCACC,SAAA,CACA,0BAAA,CACA,qBAAA,CACA,2BAAA,CAGD,wCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAAA,CAGD,0CACC,iDAAA,CACA,SAAA,CAEA,4CACC,QAAA,CACA,SAAA,CAIF,8CACC,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,2BAAA,CAGD,uCACC,mCAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n@mixin widget {\n\twidth: 100%;\n\tmargin: auto;\n\tmargin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n\tmargin-top: calc(var(--default-grid-baseline, 4px) * 3);\n\toverflow: hidden;\n\tborder: 2px solid var(--color-border);\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: transparent;\n\tdisplay: flex;\n}\n\n.widget-custom {\n\t@include widget;\n}\n\n.widget-access {\n\t@include widget;\n\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n}\n\n.widget-default {\n\t@include widget;\n\n\t&--compact {\n\t\tflex-direction: column;\n\n\t\t.widget-default--image {\n\t\t\twidth: 100%;\n\t\t\theight: 150px;\n\t\t}\n\n\t\t.widget-default--details {\n\t\t\twidth: 100%;\n\t\t\tpadding-top: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t\tpadding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t}\n\n\t\t.widget-default--description {\n\t\t\tdisplay: none;\n\t\t}\n\n\t}\n\n\t&--image {\n\t\twidth: 40%;\n\t\tbackground-position: center;\n\t\tbackground-size: cover;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t&--title {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tfont-weight: bold;\n\t}\n\n\t&--details {\n\t\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n\t\twidth: 60%;\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t&--description {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tdisplay: -webkit-box;\n\t\t-webkit-line-clamp: 3;\n\t\tline-clamp: 3;\n\t\t-webkit-box-orient: vertical;\n\t}\n\n\t&--link {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n}\n"],sourceRoot:""}]);const s=o},535:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,'.material-design-icon[data-v-1c15f071]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-text--wrapper[data-v-1c15f071]{word-break:break-word;line-height:1.5}.rich-text--wrapper .rich-text--fallback[data-v-1c15f071],.rich-text--wrapper .rich-text-component[data-v-1c15f071]{display:inline}.rich-text--wrapper .rich-text--external-link[data-v-1c15f071]{text-decoration:underline}.rich-text--wrapper .rich-text--external-link[data-v-1c15f071]:after{content:" ↗"}.rich-text--wrapper .rich-text--ordered-list .rich-text--list-item[data-v-1c15f071]{list-style:decimal}.rich-text--wrapper .rich-text--un-ordered-list .rich-text--list-item[data-v-1c15f071]{list-style:initial}.rich-text--wrapper .rich-text--list-item[data-v-1c15f071]{white-space:initial;color:var(--color-text-light);padding:initial;margin-left:20px}.rich-text--wrapper .rich-text--list-item.task-list-item[data-v-1c15f071]{list-style:none;white-space:initial;color:var(--color-text-light)}.rich-text--wrapper .rich-text--list-item.task-list-item input[data-v-1c15f071]{min-height:initial}.rich-text--wrapper .rich-text--strong[data-v-1c15f071]{white-space:initial;font-weight:bold;color:var(--color-text-light)}.rich-text--wrapper .rich-text--italic[data-v-1c15f071]{white-space:initial;font-style:italic;color:var(--color-text-light)}.rich-text--wrapper .rich-text--heading[data-v-1c15f071]{white-space:initial;font-size:initial;color:var(--color-text-light);margin-bottom:5px;margin-top:5px;font-weight:bold}.rich-text--wrapper .rich-text--heading.rich-text--heading-1[data-v-1c15f071]{font-size:20px}.rich-text--wrapper .rich-text--heading.rich-text--heading-2[data-v-1c15f071]{font-size:19px}.rich-text--wrapper .rich-text--heading.rich-text--heading-3[data-v-1c15f071]{font-size:18px}.rich-text--wrapper .rich-text--heading.rich-text--heading-4[data-v-1c15f071]{font-size:17px}.rich-text--wrapper .rich-text--heading.rich-text--heading-5[data-v-1c15f071]{font-size:16px}.rich-text--wrapper .rich-text--heading.rich-text--heading-6[data-v-1c15f071]{font-size:15px}.rich-text--wrapper .rich-text--hr[data-v-1c15f071]{border-top:1px solid var(--color-border-dark);border-bottom:0}.rich-text--wrapper .rich-text--pre[data-v-1c15f071]{border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);padding:5px}.rich-text--wrapper .rich-text--code[data-v-1c15f071]{background-color:var(--color-background-dark)}.rich-text--wrapper .rich-text--blockquote[data-v-1c15f071]{border-left:3px solid var(--color-border-dark);padding-left:5px}.rich-text--wrapper .rich-text--table[data-v-1c15f071]{border-collapse:collapse}.rich-text--wrapper .rich-text--table thead tr th[data-v-1c15f071]{border:1px solid var(--color-border-dark);font-weight:bold;padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr td[data-v-1c15f071]{border:1px solid var(--color-border-dark);padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr[data-v-1c15f071]:nth-child(even){background-color:var(--color-background-dark)}.rich-text--wrapper-markdown div>*[data-v-1c15f071]:first-child,.rich-text--wrapper-markdown blockquote>*[data-v-1c15f071]:first-child{margin-top:0 !important}.rich-text--wrapper-markdown div>*[data-v-1c15f071]:last-child,.rich-text--wrapper-markdown blockquote>*[data-v-1c15f071]:last-child{margin-bottom:0 !important}.rich-text--wrapper-markdown h1[data-v-1c15f071],.rich-text--wrapper-markdown h2[data-v-1c15f071],.rich-text--wrapper-markdown h3[data-v-1c15f071],.rich-text--wrapper-markdown h4[data-v-1c15f071],.rich-text--wrapper-markdown h5[data-v-1c15f071],.rich-text--wrapper-markdown h6[data-v-1c15f071],.rich-text--wrapper-markdown p[data-v-1c15f071],.rich-text--wrapper-markdown ul[data-v-1c15f071],.rich-text--wrapper-markdown ol[data-v-1c15f071],.rich-text--wrapper-markdown blockquote[data-v-1c15f071],.rich-text--wrapper-markdown pre[data-v-1c15f071]{margin-top:0;margin-bottom:1em}.rich-text--wrapper-markdown h1[data-v-1c15f071],.rich-text--wrapper-markdown h2[data-v-1c15f071],.rich-text--wrapper-markdown h3[data-v-1c15f071],.rich-text--wrapper-markdown h4[data-v-1c15f071],.rich-text--wrapper-markdown h5[data-v-1c15f071],.rich-text--wrapper-markdown h6[data-v-1c15f071]{font-weight:bold}.rich-text--wrapper-markdown h1[data-v-1c15f071]{font-size:30px}.rich-text--wrapper-markdown ul[data-v-1c15f071],.rich-text--wrapper-markdown ol[data-v-1c15f071]{padding-left:15px}.rich-text--wrapper-markdown ul[data-v-1c15f071]{list-style-type:disc}.rich-text--wrapper-markdown blockquote[data-v-1c15f071]{padding-left:13px;border-left:2px solid var(--color-border-dark);color:var(--color-text-lighter)}a[data-v-1c15f071]:not(.rich-text--component){text-decoration:underline}',"",{version:3,sources:["webpack://./src/components/NcRichText/NcRichText.vue","webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/richtext.scss"],names:[],mappings:"AAAA,uCCGA,YACC,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,sBACA,CAAA,qCCJD,qBACC,CAAA,eACA,CAAA,oHAEA,cACC,CAAA,+DAGD,yBACC,CAAA,qEACA,YACC,CAAA,oFAKD,kBACC,CAAA,uFAKD,kBACC,CAAA,2DAIF,mBACC,CAAA,6BACA,CAAA,eACA,CAAA,gBACA,CAAA,0EAEA,eACC,CAAA,mBACA,CAAA,6BACA,CAAA,gFAEA,kBACC,CAAA,wDAKH,mBACC,CAAA,gBACA,CAAA,6BACA,CAAA,wDAGD,mBACC,CAAA,iBACA,CAAA,6BACA,CAAA,yDAGD,mBACC,CAAA,iBACA,CAAA,6BACA,CAAA,iBACA,CAAA,cACA,CAAA,gBACA,CAAA,8EAEA,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,oDAIF,6CACC,CAAA,eACA,CAAA,qDAGD,yCACC,CAAA,6CACA,CAAA,WACA,CAAA,sDAGD,6CACC,CAAA,4DAGD,8CACC,CAAA,gBACA,CAAA,uDAGD,wBACC,CAAA,mEAEA,yCACC,CAAA,gBACA,CAAA,gBACA,CAAA,mEAIA,yCACC,CAAA,gBACA,CAAA,gFAGD,6CACC,CAAA,uIAOH,uBAEC,CAAA,qIAED,0BAEC,CAAA,miBAGD,YACC,CAAA,iBACA,CAAA,sSAGD,gBACC,CAAA,iDAGD,cACC,CAAA,kGAGD,iBACC,CAAA,iDAGD,oBACC,CAAA,yDAGD,iBACC,CAAA,8CACA,CAAA,+BACA,CAAA,8CFpKF,yBACC",sourcesContent:["@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n","/*\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","/**\n * Styles are extracted to extract scss to dist folder, too.\n */\n\n.rich-text--wrapper {\n\tword-break: break-word;\n\tline-height: 1.5;\n\n\t.rich-text--fallback, .rich-text-component {\n\t\tdisplay: inline;\n\t}\n\n\t.rich-text--external-link {\n\t\ttext-decoration: underline;\n\t\t&:after {\n\t\t\tcontent: ' ↗';\n\t\t}\n\t}\n\n\t.rich-text--ordered-list {\n\t\t.rich-text--list-item {\n\t\t\tlist-style: decimal;\n\t\t}\n\t}\n\n\t.rich-text--un-ordered-list {\n\t\t.rich-text--list-item {\n\t\t\tlist-style: initial;\n\t\t}\n\t}\n\n\t.rich-text--list-item {\n\t\twhite-space: initial;\n\t\tcolor: var(--color-text-light);\n\t\tpadding: initial;\n\t\tmargin-left: 20px;\n\n\t\t&.task-list-item {\n\t\t\tlist-style: none;\n\t\t\twhite-space: initial;\n\t\t\tcolor: var(--color-text-light);\n\n\t\t\tinput {\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\t\t}\n\t}\n\n\t.rich-text--strong {\n\t\twhite-space: initial;\n\t\tfont-weight: bold;\n\t\tcolor: var(--color-text-light);\n\t}\n\n\t.rich-text--italic {\n\t\twhite-space: initial;\n\t\tfont-style: italic;\n\t\tcolor: var(--color-text-light);\n\t}\n\n\t.rich-text--heading {\n\t\twhite-space: initial;\n\t\tfont-size: initial;\n\t\tcolor: var(--color-text-light);\n\t\tmargin-bottom: 5px;\n\t\tmargin-top: 5px;\n\t\tfont-weight: bold;\n\n\t\t&.rich-text--heading-1 {\n\t\t\tfont-size: 20px;\n\t\t}\n\n\t\t&.rich-text--heading-2 {\n\t\t\tfont-size: 19px;\n\t\t}\n\n\t\t&.rich-text--heading-3 {\n\t\t\tfont-size: 18px;\n\t\t}\n\n\t\t&.rich-text--heading-4 {\n\t\t\tfont-size: 17px;\n\t\t}\n\n\t\t&.rich-text--heading-5 {\n\t\t\tfont-size: 16px;\n\t\t}\n\n\t\t&.rich-text--heading-6 {\n\t\t\tfont-size: 15px;\n\t\t}\n\t}\n\n\t.rich-text--hr {\n\t\tborder-top: 1px solid var(--color-border-dark);\n\t\tborder-bottom: 0;\n\t}\n\n\t.rich-text--pre {\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tbackground-color: var(--color-background-dark);\n\t\tpadding: 5px;\n\t}\n\n\t.rich-text--code {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t.rich-text--blockquote {\n\t\tborder-left: 3px solid var(--color-border-dark);\n\t\tpadding-left: 5px;\n\t}\n\n\t.rich-text--table {\n\t\tborder-collapse: collapse;\n\n\t\tthead tr th {\n\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\tfont-weight: bold;\n\t\t\tpadding: 6px 13px;\n\t\t}\n\n\t\ttbody tr {\n\t\t\ttd {\n\t\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t\tpadding: 6px 13px;\n\t\t\t}\n\n\t\t\t&:nth-child(even) {\n\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.rich-text--wrapper-markdown {\n\tdiv > *:first-child,\n\tblockquote > *:first-child{\n\t\tmargin-top: 0 !important;\n\t}\n\tdiv > *:last-child ,\n\tblockquote > *:last-child {\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\th1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, pre {\n\t\tmargin-top: 0;\n\t\tmargin-bottom: 1em;\n\t}\n\n\th1, h2, h3, h4, h5, h6 {\n\t\tfont-weight: bold;\n\t}\n\n\th1 {\n\t\tfont-size: 30px;\n\t}\n\n\tul, ol {\n\t\tpadding-left: 15px;\n\t}\n\n\tul {\n\t\tlist-style-type: disc;\n\t}\n\n\tblockquote {\n\t\tpadding-left: 13px;\n\t\tborder-left: 2px solid var(--color-border-dark);\n\t\tcolor: var(--color-text-lighter);\n\t}\n}\n"],sourceRoot:""}]);const s=o},394:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}body{--vs-search-input-color: var(--color-main-text);--vs-search-input-bg: var(--color-main-background);--vs-search-input-placeholder-color: var(--color-text-maxcontrast);--vs-font-size: var(--default-font-size);--vs-line-height: var(--default-line-height);--vs-state-disabled-bg: var(--color-background-dark);--vs-state-disabled-color: var(--color-text-maxcontrast);--vs-state-disabled-controls-color: var(--color-text-maxcontrast);--vs-state-disabled-cursor: not-allowed;--vs-disabled-bg: var(--color-background-dark);--vs-disabled-color: var(--color-text-maxcontrast);--vs-disabled-cursor: not-allowed;--vs-border-color: var(--color-border-maxcontrast);--vs-border-width: 2px;--vs-border-style: solid;--vs-border-radius: var(--border-radius-large);--vs-controls-color: var(--color-text-maxcontrast);--vs-selected-bg: var(--color-background-dark);--vs-selected-color: var(--color-main-text);--vs-dropdown-bg: var(--color-main-background);--vs-dropdown-color: var(--color-main-text);--vs-dropdown-z-index: 9999;--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);--vs-dropdown-option-padding: 8px 20px;--vs-dropdown-option--active-bg: var(--color-background-hover);--vs-dropdown-option--active-color: var(--color-main-text);--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);--vs-dropdown-option--deselect-bg: var(--color-error);--vs-dropdown-option--deselect-color: #fff;--vs-transition-duration: 0ms}.v-select.select{min-height:44px;min-width:260px;margin:0}.v-select.select .vs__selected{min-height:36px;padding:0 .5em}.v-select.select .vs__clear{margin-right:2px}.v-select.select.vs--open .vs__dropdown-toggle{border-color:var(--color-primary-element);border-bottom-color:rgba(0,0,0,0)}.v-select.select:not(.vs--disabled,.vs--open) .vs__dropdown-toggle:hover{border-color:var(--color-primary-element)}.v-select.select.vs--disabled .vs__clear,.v-select.select.vs--disabled .vs__deselect{display:none}.v-select.select--no-wrap .vs__selected-options{flex-wrap:nowrap;overflow:auto}.v-select.select--drop-up.vs--open .vs__dropdown-toggle{border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-color:rgba(0,0,0,0);border-bottom-color:var(--color-primary-element)}.v-select.select .vs__selected-options{min-height:40px}.v-select.select .vs__selected-options .vs__selected~.vs__search[readonly]{position:absolute}.v-select.select:not(.select--no-wrap) .vs__selected-options{min-width:0}.v-select.select:not(.select--no-wrap) .vs__selected-options .vs__selected{min-width:0}.v-select.select.vs--single.vs--loading .vs__selected,.v-select.select.vs--single.vs--open .vs__selected{max-width:100%}.v-select.select.vs--single .vs__selected-options{flex-wrap:nowrap}.vs__dropdown-menu{border-color:var(--color-primary-element) !important;padding:4px !important}.vs__dropdown-menu--floating{width:max-content;position:absolute;top:0;left:0}.vs__dropdown-menu--floating-placement-top{border-radius:var(--vs-border-radius) var(--vs-border-radius) 0 0 !important;border-top-style:var(--vs-border-style) !important;border-bottom-style:none !important;box-shadow:0px -1px 1px 0px var(--color-box-shadow) !important}.vs__dropdown-menu .vs__dropdown-option{border-radius:6px !important}.vs__dropdown-menu .vs__no-options{color:var(--color-text-lighter) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcSelect/NcSelect.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,KAOC,+CAAA,CACA,kDAAA,CACA,kEAAA,CAGA,wCAAA,CACA,4CAAA,CAGA,oDAAA,CACA,wDAAA,CACA,iEAAA,CACA,uCAAA,CACA,8CAAA,CACA,kDAAA,CACA,iCAAA,CAGA,kDAAA,CACA,sBAAA,CACA,wBAAA,CACA,8CAAA,CAGA,kDAAA,CAGA,8CAAA,CACA,2CAAA,CAGA,8CAAA,CACA,2CAAA,CACA,2BAAA,CACA,iEAAA,CAGA,sCAAA,CAGA,8DAAA,CACA,0DAAA,CAGA,uFAAA,CAGA,qDAAA,CACA,0CAAA,CAGA,6BAAA,CAGD,iBAEC,eCxCgB,CDyChB,eAAA,CACA,QAAA,CAEA,+BACC,eAAA,CACA,cAAA,CAGD,4BACC,gBAAA,CAGD,+CACC,yCAAA,CACA,iCAAA,CAGD,yEACC,yCAAA,CAIA,qFAEC,YAAA,CAKD,gDACC,gBAAA,CACA,aAAA,CAMA,wDACC,iEAAA,CACA,8BAAA,CACA,gDAAA,CAKH,uCAEC,eAAA,CAGA,2EACC,iBAAA,CAUD,6DACC,WAAA,CACA,2EACC,WAAA,CAQD,yGAEC,cAAA,CAGF,kDACC,gBAAA,CAKH,mBACC,oDAAA,CACA,sBAAA,CAEA,6BAEC,iBAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CAEA,2CACC,4EAAA,CACA,kDAAA,CACA,mCAAA,CACA,8DAAA,CAIF,wCACC,4BAAA,CAGD,mCACC,0CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\nbody {\n\t/**\n\t * Set custom vue-select CSS variables.\n\t * Needs to be on the body (not :root) for theming to apply (see nextcloud/server#36462)\n\t */\n\n\t/* Search Input */\n\t--vs-search-input-color: var(--color-main-text);\n\t--vs-search-input-bg: var(--color-main-background);\n\t--vs-search-input-placeholder-color: var(--color-text-maxcontrast);\n\n\t/* Font */\n\t--vs-font-size: var(--default-font-size);\n\t--vs-line-height: var(--default-line-height);\n\n\t/* Disabled State */\n\t--vs-state-disabled-bg: var(--color-background-dark);\n\t--vs-state-disabled-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-controls-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-cursor: not-allowed;\n\t--vs-disabled-bg: var(--color-background-dark);\n\t--vs-disabled-color: var(--color-text-maxcontrast);\n\t--vs-disabled-cursor: not-allowed;\n\n\t/* Borders */\n\t--vs-border-color: var(--color-border-maxcontrast);\n\t--vs-border-width: 2px;\n\t--vs-border-style: solid;\n\t--vs-border-radius: var(--border-radius-large);\n\n\t/* Component Controls: Clear, Open Indicator */\n\t--vs-controls-color: var(--color-text-maxcontrast);\n\n\t/* Selected */\n\t--vs-selected-bg: var(--color-background-dark);\n\t--vs-selected-color: var(--color-main-text);\n\n\t/* Dropdown */\n\t--vs-dropdown-bg: var(--color-main-background);\n\t--vs-dropdown-color: var(--color-main-text);\n\t--vs-dropdown-z-index: 9999;\n\t--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);\n\n\t/* Options */\n\t--vs-dropdown-option-padding: 8px 20px;\n\n\t/* Active State */\n\t--vs-dropdown-option--active-bg: var(--color-background-hover);\n\t--vs-dropdown-option--active-color: var(--color-main-text);\n\n\t/* Keyboard Focus State */\n\t--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);\n\n\t/* Deselect State */\n\t--vs-dropdown-option--deselect-bg: var(--color-error);\n\t--vs-dropdown-option--deselect-color: #fff;\n\n\t/* Transitions */\n\t--vs-transition-duration: 0ms;\n}\n\n.v-select.select {\n\t/* Override default vue-select styles */\n\tmin-height: $clickable-area;\n\tmin-width: 260px;\n\tmargin: 0;\n\n\t.vs__selected {\n\t\tmin-height: 36px;\n\t\tpadding: 0 0.5em;\n\t}\n\n\t.vs__clear {\n\t\tmargin-right: 2px;\n\t}\n\n\t&.vs--open .vs__dropdown-toggle {\n\t\tborder-color: var(--color-primary-element);\n\t\tborder-bottom-color: transparent;\n\t}\n\n\t&:not(.vs--disabled, .vs--open) .vs__dropdown-toggle:hover {\n\t\tborder-color: var(--color-primary-element);\n\t}\n\n\t&.vs--disabled {\n\t\t.vs__clear,\n\t\t.vs__deselect {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&--no-wrap {\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t\toverflow: auto;\n\t\t}\n\t}\n\n\t&--drop-up {\n\t\t&.vs--open {\n\t\t\t.vs__dropdown-toggle {\n\t\t\t\tborder-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);\n\t\t\t\tborder-top-color: transparent;\n\t\t\t\tborder-bottom-color: var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t}\n\n\t.vs__selected-options {\n\t\t// If search is hidden, ensure that the height of the search is the same\n\t\tmin-height: 40px; // 36px search height + 4px search margin\n\n\t\t// Hide search from dom if unused to prevent unneeded flex wrap\n\t\t.vs__selected ~ .vs__search[readonly] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n\n\t/**\n\t * Fix overlow of selected options\n\t * There is an upstream pull request, if it is merged and released remove this fix\n\t * https://github.com/sagalbot/vue-select/pull/1756\n\t */\n\t&:not(.select--no-wrap) {\n\t\t.vs__selected-options {\n\t\t\tmin-width: 0;\n\t\t\t.vs__selected {\n\t\t\t\tmin-width: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.vs--single {\n\t\t&.vs--loading,\n\t\t&.vs--open {\n\t\t\t.vs__selected {\n\t\t\t\t// Fix `max-width` for `position: absolute`\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t}\n\t}\n}\n\n.vs__dropdown-menu {\n\tborder-color: var(--color-primary-element) !important;\n\tpadding: 4px !important;\n\n\t&--floating {\n\t\t/* Fallback styles overidden by programmatically set inline styles */\n\t\twidth: max-content;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\n\t\t&-placement-top {\n\t\t\tborder-radius: var(--vs-border-radius) var(--vs-border-radius) 0 0 !important;\n\t\t\tborder-top-style: var(--vs-border-style) !important;\n\t\t\tborder-bottom-style: none !important;\n\t\t\tbox-shadow: 0px -1px 1px 0px var(--color-box-shadow) !important;\n\t\t}\n\t}\n\n\t.vs__dropdown-option {\n\t\tborder-radius: 6px !important;\n\t}\n\n\t.vs__no-options {\n\t\tcolor: var(--color-text-lighter) !important;\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},9957:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-3896af2a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.settings-section[data-v-3896af2a]{display:block;margin-bottom:auto;padding:30px}.settings-section[data-v-3896af2a]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section--limit-width>*[data-v-3896af2a]{max-width:900px}.settings-section__title[data-v-3896af2a]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:bold;max-width:900px}.settings-section__info[data-v-3896af2a]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-14px;margin-left:0;opacity:.7}.settings-section__info[data-v-3896af2a]:hover,.settings-section__info[data-v-3896af2a]:focus,.settings-section__info[data-v-3896af2a]:active{opacity:1}.settings-section__desc[data-v-3896af2a]{margin-top:-0.2em;margin-bottom:1em;opacity:.7;max-width:900px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcSettingsSection/NcSettingsSection.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,mCACC,aAAA,CACA,kBAAA,CACA,YAAA,CAEA,oDACC,2CAAA,CAGD,kDACC,eAZS,CAeV,0CACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,cAAA,CACA,gBAAA,CACA,eArBS,CAwBV,yCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UCLe,CDMf,WCNe,CDQf,YAAA,CACA,aAAA,CACA,UCQe,CDNf,8IACC,SCMY,CDFd,yCACC,iBAAA,CACA,iBAAA,CACA,UCFe,CDGf,eA5CS",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n$maxWidth: 900px;\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&--limit-width > * {\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__title {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: -$icon-margin;\n\t\tmargin-left: 0;\n\t\topacity: $opacity_normal;\n\n\t\t&:hover, &:focus, &:active {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\topacity: $opacity_normal;\n\t\tmax-width: $maxWidth;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=o},505:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,".material-design-icon[data-v-4c7cf49f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-4c7cf49f]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-4c7cf49f]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-4c7cf49f]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-4c7cf49f]>:last-child{padding-right:8px}.user-bubble__avatar[data-v-4c7cf49f]{align-self:center}.user-bubble__title[data-v-4c7cf49f]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__title[data-v-4c7cf49f],.user-bubble__secondary[data-v-4c7cf49f]{padding:0;padding-left:4px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcUserBubble/NcUserBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLA,uCAEC,oBAAA,CACA,qBAAA,CAEA,WAAA,CACA,cAAA,CAGD,uCACC,mBAAA,CACA,cAAA,CACA,6CAAA,CAEA,gDACC,uCAAA,CACA,6CAAA,CAGD,mDAEC,iBAAA,CAIF,sCACC,iBAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAGD,8EAGC,SAAA,CACA,gBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__title,\n\t&__secondary {\n\t\t// proper spacing between avatar, title & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n"],sourceRoot:""}]);const s=o},5999:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(7537),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([t.id,"\n.app-navigation-spacer[data-v-e9226d86] {\n\tflex-shrink: 0;\n\torder: 1;\n\theight: 22px;\n}\n\n","",{version:3,sources:["webpack://./src/components/NcAppNavigationSpacer/NcAppNavigationSpacer.vue"],names:[],mappings:";AAwCA;CACA,cAAA;CACA,QAAA;CACA,YAAA;AACA",sourcesContent:["\x3c!--\n - @copyright Copyright (c) 2019 Christoph Wurst \n -\n - @author Christoph Wurst \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 program. If not, see .\n -\n --\x3e\n\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Alert.vue?vue&type=template&id=89056902&\"\nimport script from \"./Alert.vue?vue&type=script&lang=js&\"\nexport * from \"./Alert.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon alert-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertDecagram.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertDecagram.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AlertDecagram.vue?vue&type=template&id=137d8918&\"\nimport script from \"./AlertDecagram.vue?vue&type=script&lang=js&\"\nexport * from \"./AlertDecagram.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon alert-decagram-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlank.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlank.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CalendarBlank.vue?vue&type=template&id=042fd602&\"\nimport script from \"./CalendarBlank.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarBlank.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon calendar-blank-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxBlankOutline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxBlankOutline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxBlankOutline.vue?vue&type=template&id=fb5828cc&\"\nimport script from \"./CheckboxBlankOutline.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxBlankOutline.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon checkbox-blank-outline-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxMarked.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxMarked.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxMarked.vue?vue&type=template&id=66a59ab7&\"\nimport script from \"./CheckboxMarked.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxMarked.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon checkbox-marked-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxMarkedCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxMarkedCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxMarkedCircle.vue?vue&type=template&id=b94c09be&\"\nimport script from \"./CheckboxMarkedCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxMarkedCircle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon checkbox-marked-circle-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronDown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronDown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronDown.vue?vue&type=template&id=5a2dce2f&\"\nimport script from \"./ChevronDown.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronDown.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-down-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronUp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronUp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronUp.vue?vue&type=template&id=431f415e&\"\nimport script from \"./ChevronUp.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronUp.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-up-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=bcf30078&\"\nimport script from \"./Cog.vue?vue&type=script&lang=js&\"\nexport * from \"./Cog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=beccbcf6&\"\nimport script from \"./Eye.vue?vue&type=script&lang=js&\"\nexport * from \"./Eye.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EyeOff.vue?vue&type=template&id=0fb59bd2&\"\nimport script from \"./EyeOff.vue?vue&type=script&lang=js&\"\nexport * from \"./EyeOff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=5c04f969&\"\nimport script from \"./Folder.vue?vue&type=script&lang=js&\"\nexport * from \"./Folder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./HelpCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./HelpCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelpCircle.vue?vue&type=template&id=4dac44fa&\"\nimport script from \"./HelpCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./HelpCircle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon help-circle-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=b3763850&\"\nimport script from \"./Menu.vue?vue&type=script&lang=js&\"\nexport * from \"./Menu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuOpen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuOpen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MenuOpen.vue?vue&type=template&id=179c83d7&\"\nimport script from \"./MenuOpen.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuOpen.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-open-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MinusBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MinusBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MinusBox.vue?vue&type=template&id=d90829ce&\"\nimport script from \"./MinusBox.vue?vue&type=script&lang=js&\"\nexport * from \"./MinusBox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon minus-box-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pencil.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pencil.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pencil.vue?vue&type=template&id=b6f92b54&\"\nimport script from \"./Pencil.vue?vue&type=script&lang=js&\"\nexport * from \"./Pencil.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon pencil-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxBlank.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxBlank.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RadioboxBlank.vue?vue&type=template&id=0bb006bd&\"\nimport script from \"./RadioboxBlank.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioboxBlank.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon radiobox-blank-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxMarked.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxMarked.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RadioboxMarked.vue?vue&type=template&id=3ebe8680&\"\nimport script from \"./RadioboxMarked.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioboxMarked.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon radiobox-marked-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Star.vue?vue&type=template&id=22339b94&\"\nimport script from \"./Star.vue?vue&type=script&lang=js&\"\nexport * from \"./Star.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StarOutline.vue?vue&type=template&id=3a0ad9db&\"\nimport script from \"./StarOutline.vue?vue&type=script&lang=js&\"\nexport * from \"./StarOutline.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-outline-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToggleSwitch.vue?vue&type=template&id=286211c1&\"\nimport script from \"./ToggleSwitch.vue?vue&type=script&lang=js&\"\nexport * from \"./ToggleSwitch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon toggle-switch-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitchOff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitchOff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToggleSwitchOff.vue?vue&type=template&id=134175c4&\"\nimport script from \"./ToggleSwitchOff.vue?vue&type=script&lang=js&\"\nexport * from \"./ToggleSwitchOff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon toggle-switch-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Undo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Undo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Undo.vue?vue&type=template&id=bc8e3c2a&\"\nimport script from \"./Undo.vue?vue&type=script&lang=js&\"\nexport * from \"./Undo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon undo-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Web.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Web.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Web.vue?vue&type=template&id=175b4906&\"\nimport script from \"./Web.vue?vue&type=script&lang=js&\"\nexport * from \"./Web.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon web-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction getOffset(date) {\n return Math.round(date.getTimezoneOffset() / 15) * 15;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(getOffset(date), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(getOffset(date));\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\nexport function format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createDate(y, m, d, h, M, s, ms) {\n var date;\n\n if (y < 100 && y >= 0) {\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var parsedDate;\n var result = getFullInputArray(inputArray, backupDate);\n\n if (offset !== undefined) {\n result[6] += offset * 60 * 1000;\n parsedDate = createUTCDate.apply(void 0, _toConsumableArray(result));\n } else {\n parsedDate = createDate.apply(void 0, _toConsumableArray(result));\n } // check weekday\n\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = typeof dirtyMonth === 'function' ? dirtyMonth(date.getMonth()) : Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction setYear(dirtyDate, dirtyYear) {\n var date = new Date(dirtyDate);\n var year = typeof dirtyYear === 'function' ? dirtyYear(date.getFullYear()) : dirtyYear;\n date.setFullYear(year);\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M0 0h24v24H0z\",\n \"fill\": \"none\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, {}, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String,\n disabled: Boolean\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: [_vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type, {\n disabled: _vm.disabled\n }],\n attrs: {\n \"type\": \"button\",\n \"disabled\": _vm.disabled\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$1, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, date.getMonth() + 1, 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1);\n break;\n\n case 'last-month':\n date.setMonth(date.getMonth(), 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-month':\n date.setMonth(date.getMonth() + 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v - 1;\n }), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v + 1;\n }), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\",\n \"disabled\": _vm.isDisabledArrows('last-month')\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\",\n \"disabled\": _vm.isDisabledArrows('next-month')\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$2, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$3, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-decade':\n date.setFullYear(this.firstYear - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-decade':\n date.setFullYear(this.lastYear + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 10;\n }), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 10;\n }), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$4, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n var classes = [];\n\n if (this.type !== 'month') {\n if (this.calendarMonth === month) {\n classes.push('active');\n }\n\n var _cellDate = this.getMonthCellDate(month);\n\n if (this.disabledCalendarChanger(_cellDate, 'month')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n var classes = [];\n\n if (this.type !== 'year') {\n if (this.calendarYear === year) {\n classes.push('active');\n }\n\n var _cellDate2 = this.getYearCellDate(year);\n\n if (this.disabledCalendarChanger(_cellDate2, 'year')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$7, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$5, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$5, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value, col.type)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$6, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$7, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$9,\n ListOptions: __vue_component__$a\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n data: function data() {\n return {\n innerValue: getValidDate(this.value, this.defaultValue)\n };\n },\n computed: {\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n this.innerValue = getValidDate(this.value, this.defaultValue);\n }\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabledTime: function isDisabledTime(value) {\n return this.disabledTime(new Date(value));\n },\n isDisabledHour: function isDisabledHour(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setMinutes(0, 0, 0)) && this.isDisabledTime(value.setMinutes(59, 59, 999));\n },\n isDisabledMinute: function isDisabledMinute(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setSeconds(0, 0)) && this.isDisabledTime(value.setSeconds(59, 999));\n },\n isDisabledAMPM: function isDisabledAMPM(date) {\n var value = new Date(date);\n var minHour = value.getHours() < 12 ? 0 : 12;\n var maxHour = minHour + 11;\n return this.isDisabledTime(value) && this.isDisabledTime(value.setHours(minHour, 0, 0, 0)) && this.isDisabledTime(value.setHours(maxHour, 59, 59, 999));\n },\n isDisabled: function isDisabled(date, type) {\n if (type === 'hour') {\n return this.isDisabledHour(date);\n }\n\n if (type === 'minute') {\n return this.isDisabledMinute(date);\n }\n\n if (type === 'ampm') {\n return this.isDisabledAMPM(date);\n }\n\n return this.isDisabledTime(date);\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value, type)) {\n this.innerValue = date;\n\n if (!this.isDisabledTime(date)) {\n this.$emit('select', date, type);\n }\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value, type) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value, type)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$b = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$b = [];\n/* style */\n\nvar __vue_inject_styles__$b = undefined;\n/* scoped */\n\nvar __vue_scope_id__$b = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$b = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$b = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$b = normalizeComponent({\n render: __vue_render__$b,\n staticRenderFns: __vue_staticRenderFns__$b\n}, __vue_inject_styles__$b, __vue_script__$8, __vue_scope_id__$b, __vue_is_functional_template__$b, __vue_module_identifier__$b, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$b.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$b.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$b.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$b, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$b,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n },\n popupVisible: {\n handler: function handler(val) {\n if (val) {\n this.currentValue = this.innerValue;\n }\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n\n if (close) {\n this.closePopup();\n }\n\n return value;\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, type, // this.type === 'datetime', click the time should close popup\n !this.validMultipleType && (type === this.type || type === 'time'));\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible || this.disabled) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n var calendarIcon = this.type === 'time' ? h(__vue_component__$2) : h(__vue_component__$1);\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mousedown\": this.openPopup,\n \"touchstart\": this.openPopup\n }\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"mousedown\": this.handleClear,\n \"touchstart\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$3))]) : null, h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', calendarIcon)])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$b,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","// Copyright Joyent, Inc. and other Node contributors.\r\n//\r\n// Permission is hereby granted, free of charge, to any person obtaining a\r\n// copy of this software and associated documentation files (the\r\n// \"Software\"), to deal in the Software without restriction, including\r\n// without limitation the rights to use, copy, modify, merge, publish,\r\n// distribute, sublicense, and/or sell copies of the Software, and to permit\r\n// persons to whom the Software is furnished to do so, subject to the\r\n// following conditions:\r\n//\r\n// The above copyright notice and this permission notice shall be included\r\n// in all copies or substantial portions of the Software.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\r\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\r\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\r\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\r\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n'use strict';\r\n\r\n\r\nvar isWindows = process.platform === 'win32';\r\nvar util = require('util');\r\n\r\n\r\n// resolves . and .. elements in a path array with directory names there\r\n// must be no slashes or device names (c:\\) in the array\r\n// (so also no leading and trailing slashes - it does not distinguish\r\n// relative and absolute paths)\r\nfunction normalizeArray(parts, allowAboveRoot) {\r\n var res = [];\r\n for (var i = 0; i < parts.length; i++) {\r\n var p = parts[i];\r\n\r\n // ignore empty parts\r\n if (!p || p === '.')\r\n continue;\r\n\r\n if (p === '..') {\r\n if (res.length && res[res.length - 1] !== '..') {\r\n res.pop();\r\n } else if (allowAboveRoot) {\r\n res.push('..');\r\n }\r\n } else {\r\n res.push(p);\r\n }\r\n }\r\n\r\n return res;\r\n}\r\n\r\n// returns an array with empty elements removed from either end of the input\r\n// array or the original array if no elements need to be removed\r\nfunction trimArray(arr) {\r\n var lastIndex = arr.length - 1;\r\n var start = 0;\r\n for (; start <= lastIndex; start++) {\r\n if (arr[start])\r\n break;\r\n }\r\n\r\n var end = lastIndex;\r\n for (; end >= 0; end--) {\r\n if (arr[end])\r\n break;\r\n }\r\n\r\n if (start === 0 && end === lastIndex)\r\n return arr;\r\n if (start > end)\r\n return [];\r\n return arr.slice(start, end + 1);\r\n}\r\n\r\n// Regex to split a windows path into three parts: [*, device, slash,\r\n// tail] windows-only\r\nvar splitDeviceRe =\r\n /^([a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?([\\\\\\/])?([\\s\\S]*?)$/;\r\n\r\n// Regex to split the tail part of the above into [*, dir, basename, ext]\r\nvar splitTailRe =\r\n /^([\\s\\S]*?)((?:\\.{1,2}|[^\\\\\\/]+?|)(\\.[^.\\/\\\\]*|))(?:[\\\\\\/]*)$/;\r\n\r\nvar win32 = {};\r\n\r\n// Function to split a filename into [root, dir, basename, ext]\r\nfunction win32SplitPath(filename) {\r\n // Separate device+slash from tail\r\n var result = splitDeviceRe.exec(filename),\r\n device = (result[1] || '') + (result[2] || ''),\r\n tail = result[3] || '';\r\n // Split the tail into dir, basename and extension\r\n var result2 = splitTailRe.exec(tail),\r\n dir = result2[1],\r\n basename = result2[2],\r\n ext = result2[3];\r\n return [device, dir, basename, ext];\r\n}\r\n\r\nfunction win32StatPath(path) {\r\n var result = splitDeviceRe.exec(path),\r\n device = result[1] || '',\r\n isUnc = !!device && device[1] !== ':';\r\n return {\r\n device: device,\r\n isUnc: isUnc,\r\n isAbsolute: isUnc || !!result[2], // UNC paths are always absolute\r\n tail: result[3]\r\n };\r\n}\r\n\r\nfunction normalizeUNCRoot(device) {\r\n return '\\\\\\\\' + device.replace(/^[\\\\\\/]+/, '').replace(/[\\\\\\/]+/g, '\\\\');\r\n}\r\n\r\n// path.resolve([from ...], to)\r\nwin32.resolve = function() {\r\n var resolvedDevice = '',\r\n resolvedTail = '',\r\n resolvedAbsolute = false;\r\n\r\n for (var i = arguments.length - 1; i >= -1; i--) {\r\n var path;\r\n if (i >= 0) {\r\n path = arguments[i];\r\n } else if (!resolvedDevice) {\r\n path = process.cwd();\r\n } else {\r\n // Windows has the concept of drive-specific current working\r\n // directories. If we've resolved a drive letter but not yet an\r\n // absolute path, get cwd for that drive. We're sure the device is not\r\n // an unc path at this points, because unc paths are always absolute.\r\n path = process.env['=' + resolvedDevice];\r\n // Verify that a drive-local cwd was found and that it actually points\r\n // to our drive. If not, default to the drive's root.\r\n if (!path || path.substr(0, 3).toLowerCase() !==\r\n resolvedDevice.toLowerCase() + '\\\\') {\r\n path = resolvedDevice + '\\\\';\r\n }\r\n }\r\n\r\n // Skip empty and invalid entries\r\n if (!util.isString(path)) {\r\n throw new TypeError('Arguments to path.resolve must be strings');\r\n } else if (!path) {\r\n continue;\r\n }\r\n\r\n var result = win32StatPath(path),\r\n device = result.device,\r\n isUnc = result.isUnc,\r\n isAbsolute = result.isAbsolute,\r\n tail = result.tail;\r\n\r\n if (device &&\r\n resolvedDevice &&\r\n device.toLowerCase() !== resolvedDevice.toLowerCase()) {\r\n // This path points to another device so it is not applicable\r\n continue;\r\n }\r\n\r\n if (!resolvedDevice) {\r\n resolvedDevice = device;\r\n }\r\n if (!resolvedAbsolute) {\r\n resolvedTail = tail + '\\\\' + resolvedTail;\r\n resolvedAbsolute = isAbsolute;\r\n }\r\n\r\n if (resolvedDevice && resolvedAbsolute) {\r\n break;\r\n }\r\n }\r\n\r\n // Convert slashes to backslashes when `resolvedDevice` points to an UNC\r\n // root. Also squash multiple slashes into a single one where appropriate.\r\n if (isUnc) {\r\n resolvedDevice = normalizeUNCRoot(resolvedDevice);\r\n }\r\n\r\n // At this point the path should be resolved to a full absolute path,\r\n // but handle relative paths to be safe (might happen when process.cwd()\r\n // fails)\r\n\r\n // Normalize the tail path\r\n resolvedTail = normalizeArray(resolvedTail.split(/[\\\\\\/]+/),\r\n !resolvedAbsolute).join('\\\\');\r\n\r\n return (resolvedDevice + (resolvedAbsolute ? '\\\\' : '') + resolvedTail) ||\r\n '.';\r\n};\r\n\r\n\r\nwin32.normalize = function(path) {\r\n var result = win32StatPath(path),\r\n device = result.device,\r\n isUnc = result.isUnc,\r\n isAbsolute = result.isAbsolute,\r\n tail = result.tail,\r\n trailingSlash = /[\\\\\\/]$/.test(tail);\r\n\r\n // Normalize the tail path\r\n tail = normalizeArray(tail.split(/[\\\\\\/]+/), !isAbsolute).join('\\\\');\r\n\r\n if (!tail && !isAbsolute) {\r\n tail = '.';\r\n }\r\n if (tail && trailingSlash) {\r\n tail += '\\\\';\r\n }\r\n\r\n // Convert slashes to backslashes when `device` points to an UNC root.\r\n // Also squash multiple slashes into a single one where appropriate.\r\n if (isUnc) {\r\n device = normalizeUNCRoot(device);\r\n }\r\n\r\n return device + (isAbsolute ? '\\\\' : '') + tail;\r\n};\r\n\r\n\r\nwin32.isAbsolute = function(path) {\r\n return win32StatPath(path).isAbsolute;\r\n};\r\n\r\nwin32.join = function() {\r\n var paths = [];\r\n for (var i = 0; i < arguments.length; i++) {\r\n var arg = arguments[i];\r\n if (!util.isString(arg)) {\r\n throw new TypeError('Arguments to path.join must be strings');\r\n }\r\n if (arg) {\r\n paths.push(arg);\r\n }\r\n }\r\n\r\n var joined = paths.join('\\\\');\r\n\r\n // Make sure that the joined path doesn't start with two slashes, because\r\n // normalize() will mistake it for an UNC path then.\r\n //\r\n // This step is skipped when it is very clear that the user actually\r\n // intended to point at an UNC path. This is assumed when the first\r\n // non-empty string arguments starts with exactly two slashes followed by\r\n // at least one more non-slash character.\r\n //\r\n // Note that for normalize() to treat a path as an UNC path it needs to\r\n // have at least 2 components, so we don't filter for that here.\r\n // This means that the user can use join to construct UNC paths from\r\n // a server name and a share name; for example:\r\n // path.join('//server', 'share') -> '\\\\\\\\server\\\\share\\')\r\n if (!/^[\\\\\\/]{2}[^\\\\\\/]/.test(paths[0])) {\r\n joined = joined.replace(/^[\\\\\\/]{2,}/, '\\\\');\r\n }\r\n\r\n return win32.normalize(joined);\r\n};\r\n\r\n\r\n// path.relative(from, to)\r\n// it will solve the relative path from 'from' to 'to', for instance:\r\n// from = 'C:\\\\orandea\\\\test\\\\aaa'\r\n// to = 'C:\\\\orandea\\\\impl\\\\bbb'\r\n// The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\r\nwin32.relative = function(from, to) {\r\n from = win32.resolve(from);\r\n to = win32.resolve(to);\r\n\r\n // windows is not case sensitive\r\n var lowerFrom = from.toLowerCase();\r\n var lowerTo = to.toLowerCase();\r\n\r\n var toParts = trimArray(to.split('\\\\'));\r\n\r\n var lowerFromParts = trimArray(lowerFrom.split('\\\\'));\r\n var lowerToParts = trimArray(lowerTo.split('\\\\'));\r\n\r\n var length = Math.min(lowerFromParts.length, lowerToParts.length);\r\n var samePartsLength = length;\r\n for (var i = 0; i < length; i++) {\r\n if (lowerFromParts[i] !== lowerToParts[i]) {\r\n samePartsLength = i;\r\n break;\r\n }\r\n }\r\n\r\n if (samePartsLength == 0) {\r\n return to;\r\n }\r\n\r\n var outputParts = [];\r\n for (var i = samePartsLength; i < lowerFromParts.length; i++) {\r\n outputParts.push('..');\r\n }\r\n\r\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\r\n\r\n return outputParts.join('\\\\');\r\n};\r\n\r\n\r\nwin32._makeLong = function(path) {\r\n // Note: this will *probably* throw somewhere.\r\n if (!util.isString(path))\r\n return path;\r\n\r\n if (!path) {\r\n return '';\r\n }\r\n\r\n var resolvedPath = win32.resolve(path);\r\n\r\n if (/^[a-zA-Z]\\:\\\\/.test(resolvedPath)) {\r\n // path is local filesystem path, which needs to be converted\r\n // to long UNC path.\r\n return '\\\\\\\\?\\\\' + resolvedPath;\r\n } else if (/^\\\\\\\\[^?.]/.test(resolvedPath)) {\r\n // path is network UNC path, which needs to be converted\r\n // to long UNC path.\r\n return '\\\\\\\\?\\\\UNC\\\\' + resolvedPath.substring(2);\r\n }\r\n\r\n return path;\r\n};\r\n\r\n\r\nwin32.dirname = function(path) {\r\n var result = win32SplitPath(path),\r\n root = result[0],\r\n dir = result[1];\r\n\r\n if (!root && !dir) {\r\n // No dirname whatsoever\r\n return '.';\r\n }\r\n\r\n if (dir) {\r\n // It has a dirname, strip trailing slash\r\n dir = dir.substr(0, dir.length - 1);\r\n }\r\n\r\n return root + dir;\r\n};\r\n\r\n\r\nwin32.basename = function(path, ext) {\r\n var f = win32SplitPath(path)[2];\r\n // TODO: make this comparison case-insensitive on windows?\r\n if (ext && f.substr(-1 * ext.length) === ext) {\r\n f = f.substr(0, f.length - ext.length);\r\n }\r\n return f;\r\n};\r\n\r\n\r\nwin32.extname = function(path) {\r\n return win32SplitPath(path)[3];\r\n};\r\n\r\n\r\nwin32.format = function(pathObject) {\r\n if (!util.isObject(pathObject)) {\r\n throw new TypeError(\r\n \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\r\n );\r\n }\r\n\r\n var root = pathObject.root || '';\r\n\r\n if (!util.isString(root)) {\r\n throw new TypeError(\r\n \"'pathObject.root' must be a string or undefined, not \" +\r\n typeof pathObject.root\r\n );\r\n }\r\n\r\n var dir = pathObject.dir;\r\n var base = pathObject.base || '';\r\n if (!dir) {\r\n return base;\r\n }\r\n if (dir[dir.length - 1] === win32.sep) {\r\n return dir + base;\r\n }\r\n return dir + win32.sep + base;\r\n};\r\n\r\n\r\nwin32.parse = function(pathString) {\r\n if (!util.isString(pathString)) {\r\n throw new TypeError(\r\n \"Parameter 'pathString' must be a string, not \" + typeof pathString\r\n );\r\n }\r\n var allParts = win32SplitPath(pathString);\r\n if (!allParts || allParts.length !== 4) {\r\n throw new TypeError(\"Invalid path '\" + pathString + \"'\");\r\n }\r\n return {\r\n root: allParts[0],\r\n dir: allParts[0] + allParts[1].slice(0, -1),\r\n base: allParts[2],\r\n ext: allParts[3],\r\n name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\r\n };\r\n};\r\n\r\n\r\nwin32.sep = '\\\\';\r\nwin32.delimiter = ';';\r\n\r\n\r\n// Split a filename into [root, dir, basename, ext], unix version\r\n// 'root' is just a slash, or nothing.\r\nvar splitPathRe =\r\n /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\r\nvar posix = {};\r\n\r\n\r\nfunction posixSplitPath(filename) {\r\n return splitPathRe.exec(filename).slice(1);\r\n}\r\n\r\n\r\n// path.resolve([from ...], to)\r\n// posix version\r\nposix.resolve = function() {\r\n var resolvedPath = '',\r\n resolvedAbsolute = false;\r\n\r\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\r\n var path = (i >= 0) ? arguments[i] : process.cwd();\r\n\r\n // Skip empty and invalid entries\r\n if (!util.isString(path)) {\r\n throw new TypeError('Arguments to path.resolve must be strings');\r\n } else if (!path) {\r\n continue;\r\n }\r\n\r\n resolvedPath = path + '/' + resolvedPath;\r\n resolvedAbsolute = path[0] === '/';\r\n }\r\n\r\n // At this point the path should be resolved to a full absolute path, but\r\n // handle relative paths to be safe (might happen when process.cwd() fails)\r\n\r\n // Normalize the path\r\n resolvedPath = normalizeArray(resolvedPath.split('/'),\r\n !resolvedAbsolute).join('/');\r\n\r\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\r\n};\r\n\r\n// path.normalize(path)\r\n// posix version\r\nposix.normalize = function(path) {\r\n var isAbsolute = posix.isAbsolute(path),\r\n trailingSlash = path && path[path.length - 1] === '/';\r\n\r\n // Normalize the path\r\n path = normalizeArray(path.split('/'), !isAbsolute).join('/');\r\n\r\n if (!path && !isAbsolute) {\r\n path = '.';\r\n }\r\n if (path && trailingSlash) {\r\n path += '/';\r\n }\r\n\r\n return (isAbsolute ? '/' : '') + path;\r\n};\r\n\r\n// posix version\r\nposix.isAbsolute = function(path) {\r\n return path.charAt(0) === '/';\r\n};\r\n\r\n// posix version\r\nposix.join = function() {\r\n var path = '';\r\n for (var i = 0; i < arguments.length; i++) {\r\n var segment = arguments[i];\r\n if (!util.isString(segment)) {\r\n throw new TypeError('Arguments to path.join must be strings');\r\n }\r\n if (segment) {\r\n if (!path) {\r\n path += segment;\r\n } else {\r\n path += '/' + segment;\r\n }\r\n }\r\n }\r\n return posix.normalize(path);\r\n};\r\n\r\n\r\n// path.relative(from, to)\r\n// posix version\r\nposix.relative = function(from, to) {\r\n from = posix.resolve(from).substr(1);\r\n to = posix.resolve(to).substr(1);\r\n\r\n var fromParts = trimArray(from.split('/'));\r\n var toParts = trimArray(to.split('/'));\r\n\r\n var length = Math.min(fromParts.length, toParts.length);\r\n var samePartsLength = length;\r\n for (var i = 0; i < length; i++) {\r\n if (fromParts[i] !== toParts[i]) {\r\n samePartsLength = i;\r\n break;\r\n }\r\n }\r\n\r\n var outputParts = [];\r\n for (var i = samePartsLength; i < fromParts.length; i++) {\r\n outputParts.push('..');\r\n }\r\n\r\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\r\n\r\n return outputParts.join('/');\r\n};\r\n\r\n\r\nposix._makeLong = function(path) {\r\n return path;\r\n};\r\n\r\n\r\nposix.dirname = function(path) {\r\n var result = posixSplitPath(path),\r\n root = result[0],\r\n dir = result[1];\r\n\r\n if (!root && !dir) {\r\n // No dirname whatsoever\r\n return '.';\r\n }\r\n\r\n if (dir) {\r\n // It has a dirname, strip trailing slash\r\n dir = dir.substr(0, dir.length - 1);\r\n }\r\n\r\n return root + dir;\r\n};\r\n\r\n\r\nposix.basename = function(path, ext) {\r\n var f = posixSplitPath(path)[2];\r\n // TODO: make this comparison case-insensitive on windows?\r\n if (ext && f.substr(-1 * ext.length) === ext) {\r\n f = f.substr(0, f.length - ext.length);\r\n }\r\n return f;\r\n};\r\n\r\n\r\nposix.extname = function(path) {\r\n return posixSplitPath(path)[3];\r\n};\r\n\r\n\r\nposix.format = function(pathObject) {\r\n if (!util.isObject(pathObject)) {\r\n throw new TypeError(\r\n \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\r\n );\r\n }\r\n\r\n var root = pathObject.root || '';\r\n\r\n if (!util.isString(root)) {\r\n throw new TypeError(\r\n \"'pathObject.root' must be a string or undefined, not \" +\r\n typeof pathObject.root\r\n );\r\n }\r\n\r\n var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\r\n var base = pathObject.base || '';\r\n return dir + base;\r\n};\r\n\r\n\r\nposix.parse = function(pathString) {\r\n if (!util.isString(pathString)) {\r\n throw new TypeError(\r\n \"Parameter 'pathString' must be a string, not \" + typeof pathString\r\n );\r\n }\r\n var allParts = posixSplitPath(pathString);\r\n if (!allParts || allParts.length !== 4) {\r\n throw new TypeError(\"Invalid path '\" + pathString + \"'\");\r\n }\r\n allParts[1] = allParts[1] || '';\r\n allParts[2] = allParts[2] || '';\r\n allParts[3] = allParts[3] || '';\r\n\r\n return {\r\n root: allParts[0],\r\n dir: allParts[0] + allParts[1].slice(0, -1),\r\n base: allParts[2],\r\n ext: allParts[3],\r\n name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\r\n };\r\n};\r\n\r\n\r\nposix.sep = '/';\r\nposix.delimiter = ':';\r\n\r\n\r\nif (isWindows)\r\n module.exports = win32;\r\nelse /* posix */\r\n module.exports = posix;\r\n\r\nmodule.exports.posix = posix;\r\nmodule.exports.win32 = win32;\r\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, getCurrentInstance, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (param) => {\n return Promise.all(Array.from(fns).map((fn) => fn(param)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nfunction createInjectionState(composable) {\n const key = Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provide(key, state);\n return state;\n };\n const useInjectedState = () => inject(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(\n () => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0])))\n );\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /* @__PURE__ */ /iP(ad|hone|od)/.test(window.navigator.userAgent);\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, options = {}) {\n var _a, _b;\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options;\n const watchers = [];\n const transformLTR = (_a = transform.ltr) != null ? _a : (v) => v;\n const transformRTL = (_b = transform.rtl) != null ? _b : (v) => v;\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true) {\n if (getCurrentInstance())\n onBeforeMount(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn) {\n if (getCurrentInstance())\n onBeforeUnmount(fn);\n}\n\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance())\n onMounted(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn) {\n if (getCurrentInstance())\n onUnmounted(fn);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(\n () => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n )\n );\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(\n () => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n )\n );\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(\n () => toValue(list).slice(formIndex).some(\n (element, index, array) => comparator(toValue(element), toValue(value), index, toValue(array))\n )\n );\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);\n const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [\n ...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)\n ];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n return watch(\n source,\n (v, ov, onInvalidate) => {\n if (v)\n cb(v, ov, onInvalidate);\n },\n options\n );\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isClient, isDef, isDefined, isIOS, isObject, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, computedWithControl, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, useTimeoutFn, pausableWatch, toRef, createEventHook, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, createSingletonPromise, toRefs, useIntervalFn, notNullish, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, identity, isDef } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, readonly, nextTick, reactive, markRaw, getCurrentScope, isVue2, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n if (el)\n shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n timeout = setTimeout(\n () => handler(ev),\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions);\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], clear, listenerOptions);\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = computedWithControl(\n () => null,\n () => getDeepActiveElement()\n );\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n activeElement.trigger();\n }, true);\n useEventListener(window, \"focus\", activeElement.trigger, true);\n }\n return activeElement;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n if (getCurrentInstance()) {\n onMounted(() => {\n isMounted.value = true;\n });\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n const delta = timestamp - (previousFrameTimestamp || timestamp);\n fn({ delta, timestamp });\n previousFrameTimestamp = timestamp;\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n !animate.value && update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n el && update();\n });\n watch(() => keyframes, (value) => {\n !animate.value && update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => {\n nextTick(() => update(true));\n });\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (commitStyles)\n animate.value.commitStyles();\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery({ navigator = defaultNavigator } = {}) {\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator);\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetify = {\n xs: 600,\n sm: 960,\n md: 1264,\n lg: 1904\n};\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 600,\n sm: 1024,\n md: 1440,\n lg: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = breakpoints[k];\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(`(min-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => greaterOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n return Object.assign(shortcutMethods, {\n greater(k) {\n return useMediaQuery(`(min-width: ${getValue(k, 0.1)})`, options);\n },\n greaterOrEqual,\n smaller(k) {\n return useMediaQuery(`(max-width: ${getValue(k, -0.1)})`, options);\n },\n smallerOrEqual(k) {\n return useMediaQuery(`(max-width: ${getValue(k)})`, options);\n },\n between(a, b) {\n return useMediaQuery(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation({ window = defaultWindow } = {}) {\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value)\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const data = (shallow ? shallowRef : ref)(defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n }\n update();\n return data;\n function write(v) {\n try {\n if (v == null) {\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n const oldValue = storage.getItem(key);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue: serialized,\n storageArea: storage\n }\n }));\n }\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit !== null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(\n () => store.value === \"auto\" ? system.value : store.value\n );\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(\n () => unrefElement(target),\n (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new MutationObserver(callback);\n observer.observe(el, mutationOptions);\n }\n },\n { immediate: true }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nfunction useCurrentElement() {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\"\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (mode.system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio({\n window = defaultWindow\n} = {}) {\n const pixelRatio = ref(1);\n if (window) {\n let observe = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe, { once: true });\n }, cleanup = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe);\n };\n let media;\n observe();\n tryOnScopeDispose(cleanup);\n }\n return { pixelRatio };\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility({ document = defaultDocument } = {}) {\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = (_a2 = toValue(containerElement)) != null ? _a2 : toValue(target);\n const rect = container.getBoundingClientRect();\n const pos = {\n x: e.clientX - rect.left,\n y: e.clientY - rect.top\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\")\n x = e.clientX - pressedDelta.value.x;\n if (axis === \"y\" || axis === \"both\")\n y = e.clientY - pressedDelta.value.y;\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const getFiles = (event) => {\n var _a, _b;\n const list = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n return files.value = list.length === 0 ? null : list;\n };\n useEventListener(target, \"dragenter\", (event) => {\n var _a;\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n (_a = _options.onEnter) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragover\", (event) => {\n var _a;\n event.preventDefault();\n (_a = _options.onOver) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragleave\", (event) => {\n var _a;\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_a = _options.onLeave) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"drop\", (event) => {\n var _a;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n (_a = _options.onDrop) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(\n () => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]\n );\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\", deep: true }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = Number.parseFloat(styles.width);\n height.value = Number.parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n return {\n width,\n height\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n ([{ isIntersecting }]) => {\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold: 0\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const {\n withCredentials = false\n } = options;\n const close = () => {\n if (eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n }\n };\n const es = new EventSource(url, { withCredentials });\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n eventSource,\n event,\n data,\n status,\n error,\n close\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`).forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries([...headers.entries()]);\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n const execute = async (throwOnFailed = false) => {\n var _a2;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return new Promise((resolve, reject) => {\n var _a3;\n fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_a3 = context.options) == null ? void 0 : _a3.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return resolve(fetchResponse);\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n return reject(fetchError);\n return resolve(null);\n }).finally(() => {\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished,\n statusCode,\n response,\n error,\n data,\n isFetching,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n trigger(files.value);\n };\n }\n const reset = () => {\n files.value = null;\n if (input)\n input.value = \"\";\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateFile();\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateFile();\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(\n () => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0\n );\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n ...gamepad,\n id: gamepad.id,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad) {\n const index = gamepads.value.findIndex(({ index: index2 }) => index2 === gamepad.index);\n if (index > -1)\n gamepads.value[index] = stateFromGamepad(gamepad);\n }\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n if (_gamepads) {\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad)\n onGamepadConnected(gamepad);\n }\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = target.document ? target.document.documentElement : (_a = target.documentElement) != null ? _a : target;\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= 0 + (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= 0 + (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value)\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = reactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return reactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return reactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + window.pageXOffset;\n elementPositionY.value = top + window.pageYOffset;\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true });\n useEventListener(window, \"mouseup\", onReleased, { passive: true });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true });\n useEventListener(window, \"drop\", onReleased, { passive: true });\n useEventListener(window, \"dragend\", onReleased, { passive: true });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true });\n useEventListener(window, \"touchend\", onReleased, { passive: true });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page))\n syncRef(page, currentPage);\n if (isRef(pageSize))\n syncRef(pageSize, currentPageSize);\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0))\n return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = -orientation.beta / 90;\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = orientation.gamma / 90;\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument, pointerLockOptions } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e, options2) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"initial\");\n })\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (!isSupported.value)\n return Promise.reject(new Error(\"Not supported\"));\n return screenOrientation.lock(type);\n };\n const unlockOrientation = () => {\n if (isSupported.value)\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow;\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n initialOverflow = ele.style.overflow;\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = initialOverflow;\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const transcript = Array.from(event.results).map((result2) => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map((result2) => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else\n data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const textareaScrollHeight = ref(1);\n function triggerResize() {\n var _a, _b;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style.height = \"1px\";\n textareaScrollHeight.value = (_a = textarea.value) == null ? void 0 : _a.scrollHeight;\n if (options == null ? void 0 : options.styleTarget)\n toValue(options.styleTarget).style.height = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style.height = height;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b;\n const {\n document = defaultDocument\n } = options;\n const title = toRef((_a = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _a : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_b = document.head) == null ? void 0 : _b.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props)\n ret[key] = useVModel(props, key, emit, options);\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value && !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n wsRef.value = void 0;\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n useEventListener(window, \"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction depsParser(deps) {\n if (deps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n}\n\nfunction createWorkerBlobUrl(fn, deps) {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus({ window = defaultWindow } = {}) {\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll({ window = defaultWindow } = {}) {\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const x = ref(window.scrollX);\n const y = ref(window.scrollY);\n useEventListener(\n window,\n \"scroll\",\n () => {\n x.value = window.scrollX;\n y.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { defineComponent as g, useSlots as C, ref as v, computed as u } from \"vue\";\nimport { NcButton as h, NcIconSvgWrapper as N, NcModal as b } from \"@nextcloud/vue\";\nimport { useElementSize as y } from \"@vueuse/core\";\nconst S = g({ __name: \"DialogButton\", props: { callback: null, label: null, icon: null, type: null }, emits: [\"click\"], setup(e, { emit: t }) {\n const a = e;\n return { __sfc: !0, props: a, emit: t, handleClick: (o) => {\n var s;\n (s = a.callback) == null || s.call(a), t(\"click\", o);\n }, NcButton: h, NcIconSvgWrapper: N };\n} });\nfunction m(e, t, a, o, s, r, c, p) {\n var n = typeof e == \"function\" ? e.options : e;\n t && (n.render = t, n.staticRenderFns = a, n._compiled = !0), o && (n.functional = !0), r && (n._scopeId = \"data-v-\" + r);\n var l;\n if (c ? (l = function(i) {\n i = i || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !i && typeof __VUE_SSR_CONTEXT__ < \"u\" && (i = __VUE_SSR_CONTEXT__), s && s.call(this, i), i && i._registeredComponents && i._registeredComponents.add(c);\n }, n._ssrRegister = l) : s && (l = p ? function() {\n s.call(this, (n.functional ? this.parent : this).$root.$options.shadowRoot);\n } : s), l)\n if (n.functional) {\n n._injectStyles = l;\n var d = n.render;\n n.render = function(i, f) {\n return l.call(f), d(i, f);\n };\n } else {\n var _ = n.beforeCreate;\n n.beforeCreate = _ ? [].concat(_, l) : [l];\n }\n return { exports: e, options: n };\n}\nvar k = function() {\n var e = this, t = e._self._c, a = e._self._setupProxy;\n return t(a.NcButton, { attrs: { \"aria-label\": a.props.label, type: a.props.type }, on: { click: a.handleClick }, scopedSlots: e._u([a.props.icon !== void 0 ? { key: \"icon\", fn: function() {\n return [typeof a.props.icon == \"string\" ? t(a.NcIconSvgWrapper, { attrs: { svg: a.props.icon } }) : t(a.props.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 } : null], null, !0) }, [e._v(\" \" + e._s(a.props.label) + \" \")]);\n}, x = [], w = m(S, k, x, !1, null, null, null, null);\nconst B = w.exports, E = g({ __name: \"DialogBase\", props: { name: null, message: { default: \"\" }, additionalTrapElements: { default: () => [] }, container: { default: void 0 }, size: { default: \"small\" }, buttons: { default: () => [] }, navigationClasses: { default: () => [] }, contentClasses: { default: () => [] }, dialogClasses: { default: () => [] } }, emits: [\"close\"], setup(e, { emit: t }) {\n const a = e, o = C(), s = v(), { width: r } = y(s), c = u(() => r.value < 876), p = u(() => (o == null ? void 0 : o.navigation) !== void 0), n = v(!0), l = () => {\n n.value = !1, t(\"close\");\n }, d = u(() => ({ additionalTrapElements: a.additionalTrapElements, container: a.container === void 0 ? \"body\" : a.container, name: a.name, size: a.size, enableSlideshow: !1, enableSwipe: !1 }));\n return { __sfc: !0, props: a, emit: t, slots: o, wrapper: s, dialogWidth: r, isNavigationCollapsed: c, hasNavigation: p, open: n, handleClose: l, modalProps: d, NcModal: b, DialogButton: B };\n} });\nvar T = function() {\n var e = this, t = e._self._c, a = e._self._setupProxy;\n return a.open ? t(a.NcModal, e._b({ staticClass: \"dialog__modal\", on: { close: a.handleClose } }, \"NcModal\", a.modalProps, !1), [t(\"h2\", { staticClass: \"dialog__name\", domProps: { textContent: e._s(e.name) } }), t(\"div\", { staticClass: \"dialog\", class: e.dialogClasses }, [t(\"div\", { ref: \"wrapper\", class: [\"dialog__wrapper\", { \"dialog__wrapper--collapsed\": a.isNavigationCollapsed }] }, [a.hasNavigation ? t(\"nav\", { staticClass: \"dialog__navigation\", class: e.navigationClasses }, [e._t(\"navigation\", null, { isCollapsed: a.isNavigationCollapsed })], 2) : e._e(), t(\"div\", { staticClass: \"dialog__content\", class: e.contentClasses }, [e._t(\"default\", function() {\n return [t(\"p\", [e._v(e._s(a.props.message))])];\n })], 2)]), t(\"div\", { staticClass: \"dialog__actions\" }, [e._t(\"actions\", function() {\n return e._l(a.props.buttons, function(o, s) {\n return t(a.DialogButton, e._b({ key: s, on: { click: a.handleClose } }, \"DialogButton\", o, !1));\n });\n })], 2)])]) : e._e();\n}, D = [], $ = m(E, T, D, !1, null, \"a37caee5\", null, null);\nconst I = $.exports;\nexport {\n I as D,\n m as n\n};\n"],"names":["router","DOMPurify","escapeHTML","getLocale","document","documentElement","dataset","locale","getCanonicalLocale","replace","getLanguage","lang","getAppTranslations","appId","_a","_b","_c","_d","translations","window","_oc_l10n_registry_translations","pluralFunction","_oc_l10n_registry_plural_functions","number","translate","app","text","vars","options","allOptions","Object","assign","escape","sanitize","identity","value","optSanitize","optEscape","translation","Array","isArray","undefined","match","key","r","_build","register","appName","bundle","getPlural","language","length","substring","lastIndexOf","exports","getDayNames","dayNames","console","warn","getDayNamesMin","dayNamesMin","getDayNamesShort","dayNamesShort","getFirstDay","firstDay","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","isRTL","languageCode","startsWith","includes","loadTranslations","callback","Promise","resolve","then","url","generateFilePath","reject","request","XMLHttpRequest","open","onerror","Error","statusText","onload","status","JSON","parse","responseText","error","send","result","translatePlural","textSingular","textPlural","identifier","unregister","self","module","e","t","n","defineProperty","enumerable","configurable","writable","Symbol","iterator","prototype","toString","call","from","TypeError","o","i","s","constructor","__esModule","default","d","a","get","hasOwnProperty","toStringTag","VueSelect","m","O","mixins","_","l","props","autoscroll","type","Boolean","watch","typeAheadPointer","this","maybeAdjustScroll","$nextTick","methods","$refs","dropdownMenu","children","getDropdownViewport","getBoundingClientRect","top","bottom","height","scrollTop","offsetTop","c","data","filteredOptions","selectable","typeAheadToLastSelected","selectedValue","typeAheadUp","typeAheadDown","typeAheadSelect","select","indexOf","u","loading","mutableLoading","search","$emit","toggleLoading","arguments","p","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","concat","Deselect","$createElement","_self","attrs","xmlns","width","OpenIndicator","h","inserted","context","appendToBody","body","appendChild","toggle","left","scrollX","pageXOffset","scrollY","pageYOffset","unbindPosition","calculatePosition","unbind","parentNode","removeChild","y","v","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","g","forEach","getOwnPropertyDescriptors","defineProperties","components","directives","limit","Number","disabled","clearable","deselectFromDropdown","searchable","multiple","placeholder","String","transition","clearSearchOnSelect","closeOnSelect","label","autocomplete","reduce","Function","getOptionLabel","stringify","getOptionKey","id","sort","f","onTab","selectOnTab","isComposing","taggable","tabindex","pushTags","filterable","filterBy","toLocaleLowerCase","createOption","optionList","resetOnOptionsChange","validator","clearSearchOnBlur","noDrop","inputId","dir","selectOnKeyCodes","searchInputQuerySelector","mapKeydown","style","dropdownShouldOpen","keyboardFocusBorder","uid","isKeyboardNavigation","pushedTags","_value","computed","isTrackingValues","propsData","$data","searchEl","$scopedSlots","selectedOptions","querySelector","scope","searching","attributes","searchPlaceholder","readonly","ref","dropdownOpen","events","compositionstart","compositionend","keydown","onSearchKeyDown","keypress","onSearchKeyPress","blur","onSearchBlur","focus","onSearchFocus","input","target","spinner","noOptions","openIndicator","role","class","listHeader","listFooter","header","deselect","footer","childComponents","stateClasses","isValueEmpty","slice","optionExists","unshift","showClearButton","clearSelection","setInternalValueFromOptions","immediate","handler","created","$on","pushTag","map","findOptionFromReducedValue","isOptionSelected","updateValue","onAfterSelect","optionComparator","keyboardDeselect","deselectButtons","toggleDropdown","preventDefault","clearButton","some","contains","isOptionDeselectable","hasKeyboardFocusBorder","find","closeSearchOptions","maybeDeleteValue","optionAriaSelected","normalizeOptionForSlot","onEscape","mousedown","onMousedown","onMouseUp","onMouseMove","keyCode","staticClass","_t","_v","on","_l","_s","refInFor","title","stopPropagation","_k","tag","_e","option","_g","name","rawName","expression","click","mouseup","mousemove","staticStyle","display","visibility","ajax","pointer","pointerScroll","Z","version","sources","names","mappings","sourcesContent","sourceRoot","S","A","URL","b","C","T","E","x","D","join","test","hash","needQuotes","btoa","unescape","encodeURIComponent","base","css","media","sourceMap","supports","layer","references","updater","byIndex","splice","domAPI","update","remove","HTMLIFrameElement","contentDocument","head","createElement","setAttributes","insert","nc","setAttribute","insertStyleElement","styleTagTransform","styleSheet","cssText","firstChild","createTextNode","baseURI","location","href","TO","hs","zR","gs","Js","xQ","uy","L","Bt","q","Iw","ji","ih","Qi","Iz","na","xU","oa","rr","va","L1","ya","L_","Ra","O3","ga","Mb","Qa","ZJ","Ka","Yx","Va","yS","dr","ZL","Tr","_I","Dr","eq","Br","tn","io","hX","co","zQ","To","AR","yo","NI","wo","MX","Xo","V$","is","Xu","Ns","j1","Mv","$c","Xn","ze","$U","Ls","fg","P2","si","rw","El","qF","Ll","JN","Wl","YJ","sA","_2","tA","kC","Kn","P4","$n","fA","SL","ms","I6","FA","ar","YA","nR","bt","FK","Xe","hx","PA","Ic","ln","lb","Xt","lQ","me","Jc","Ho","Z2","tc","qH","sc","qf","vc","pS","Si","Fh","Ot","Rs","Ht","Tz","kc","wQ","Yc","Xj","Np","rE","gp","Op","QG","Cn","iR","$p","gE","Qp","h3","Zi","cY","En","uq","iu","Oa","BW","oe","Ry","Uc","jc","gP","au","rm","se","tq","Ae","bf","Se","iQ","Re","s9","re","before","$slots","trim","util","$destroy","$el","beforeUpdate","getText","isLongText","icon","closeAfterClick","ariaLabel","ariaHidden","emits","nameTitleFallback","isIconUrl","onClick","$parent","closeMenu","isFocusable","bind","locals","focusable","backgroundImage","domProps","textContent","k","defineComponent","required","w","N","F","R","B","_setupProxy","M","Y","I","G","$","Math","random","j","checked","checkInput","onChange","checkbox","U","P","z","H","W","ctrlKey","shiftKey","altKey","metaKey","change","for","Q","K","V","detectLocale","Actions","Activities","Choose","Close","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid","msgid_plural","msgstr","addTranslation","J","build","X","ngettext","tt","gettext","et","split","nt","it","detectUser","setApp","at","rt","st","lt","At","ct","dt","pt","ut","mt","toLowerCase","start","end","ht","highlight","ranges","max","chunks","gt","Ct","Tt","vt","NcHighlight","needsTruncate","min","floor","part1","part2","highlight1","highlight2","ft","Et","xt","yt","Dt","St","_nc_focus_trap","kt","Dropdown","inheritAttrs","popoverBaseClass","focusTrap","setReturnFocus","HTMLElement","SVGElement","beforeDestroy","clearFocusTrap","async","popover","popperContent","$focusTrap","createFocusTrap","escapeDeactivates","allowOutsideClick","trapStack","activate","deactivate","afterShow","useFocusTrap","afterHide","wt","Nt","Ft","Rt","distance","scopedSlots","_u","fn","proxy","$attrs","$listeners","Zt","item","round","iconIsUrl","action","Mt","Yt","It","Gt","Lt","NcPopoverMenuItem","download","rel","src","longtext","active","submit","model","_i","$set","_q","composing","menu","$t","jt","Ut","Pt","zt","Wt","size","appearance","colors","reverse","qt","Qt","Kt","Vt","Jt","viewBox","fill","te","ee","parseInt","ne","ie","ae","charAt","excludeClickOutsideSelectors","excludeClickOutsideClasses","clickOutsideOptions","ignore","isFullscreen","_isFullscreen","beforeMount","addEventListener","_onResize","removeEventListener","outerHeight","screen","le","isMobile","handleWindowResize","clientWidth","mounted","onIsMobileChanged","$off","ce","de","iconUrl","source","primary","avatarUrl","getAvatarUrl","mentionText","generateUrl","user","pe","ue","contenteditable","he","ge","Ce","defaultProtocol","className","Te","be","ve","fe","Ee","xe","ye","RegExp","De","userData","renderContent","flat","genSelectTemplate","parseContent","autocompleteTribute","current","collection","trigger","renderComponentHtml","extend","$mount","innerHTML","ke","we","Ne","Fe","hasStatus","userStatus","message","getCapabilities","user_status","enabled","getCurrentUser","generateOcsUrl","userId","ocs","response","Be","Oe","Ze","Me","Ye","getBuilder","persist","Ie","setItem","Ge","ClickOutside","vOnClickOutside","DotsHorizontal","NcLoadingIcon","NcPopover","NcPopoverMenu","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","Element","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","hasMenu","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","initialsWrapperStyle","backgroundColor","initialsStyle","color","tooltip","initials","fromCodePoint","codePointAt","toUpperCase","hyperlink","loadAvatarUrl","subscribe","fetchUserStatus","handleUserStatusUpdated","unsubscribe","handlePopoverAfterShow","popoverMenu","getElementsByTagName","handlePopoverAfterHide","main","fetchContactsMenu","post","topAction","actions","updateImageIfValid","avatarUrlGenerator","getComputedStyle","getPropertyValue","oc_userconfig","avatar","getItem","Image","debug","srcset","Le","$e","je","Ue","Pe","toggleMenu","alt","placement","container","shown","He","We","svg","cleanSvg","sanitizeSVG","qe","Qe","Ke","Ve","Je","NcAvatar","NcIconSvgWrapper","subtitle","iconSvg","iconTitle","avatarSize","noMargin","margin","hasIcon","hasIconSvg","isValidSubtitle","isSizeBigEnough","cssVars","en","nn","an","rn","sn","An","cn","ChevronDown","NcEllipsisedOption","NcListItemIcon","fillColor","cursor","inputClass","noWrap","userSelect","localCalculatePosition","classList","autoUpdate","computePosition","middleware","offset","flip","shift","limiter","limitShift","localFilterBy","localLabel","propsToForward","$props","dn","pn","un","mn","hn","gn","Tn","NcSelect","additionalTimezones","selectedTimezone","timezoneId","continent","regions","cities","i8","Ao","ics","registerTimezoneFromICS","j3","registerAlias","aliasTo","listAllTimezones","values","isSelectable","matchTimezoneId","every","bn","vn","xn","yn","Dn","Sn","kn","wn","Nn","Fn","date","datetime","year","month","time","week","Rn","CalendarBlank","DatePicker","NcTimezonePicker","Web","minuteStep","format","formatter","Date","showTimezoneSelect","highlightTimezone","showWeekNumber","showTimezonePopover","tzVal","defaultLang","formatLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","firstDayOfWeek","monthFormat","defaultPlaceholder","formatTypeMap","handleSelectYear","datepicker","currentValue","setFullYear","selectDate","handleSelectMonth","setMonth","toggleTimezonePopover","Bn","_n","On","Zn","Mn","Yn","In","Gn","Ln","jn","Un","validate","hideLabel","formattedValue","formatValue","formattedMin","formattedMax","listeners","isNaN","valueAsNumber","yyyy","MM","dd","getReadableDate","getMonth","padStart","hh","mm","getTimezoneOffset","getFullYear","getDate","getHours","getMinutes","ceil","Pn","zn","Hn","Wn","qn","Qn","Vn","Jn","ti","ei","nativeType","wide","to","exact","navigate","isActive","isExactActive","custom","ni","ii","ai","ri","oi","li","Ai","ci","di","pi","NcButton","AlertCircle","Check","labelOutside","labelVisible","showTrailingButton","trailingButtonLabel","success","helperText","computedId","inputName","hasLeadingIcon","hasTrailingIcon","hasPlaceholder","computedPlaceholder","isValidLabel","handleInput","handleTrailingButtonClick","ui","mi","hi","gi","Ci","Ti","bi","vi","fi","Ei","NcInputField","Eye","EyeOff","checkPasswordStrength","minlength","maxlength","isPasswordHidden","internalHelpMessage","passwordPolicy","loadState","password_policy","isValid","computedError","computedSuccess","computedHelperText","rules","minLength","trailingButtonLabelPassword","checkPassword","inputField","togglePasswordVisibility","password","passed","reason","xi","yi","Di","ki","wi","Ni","Fi","Ri","ArrowRight","Undo","trailingButtonIcon","clearTextLabel","Bi","Oi","Mi","NcDatetimePicker","NcDateTimePickerNative","NcPasswordField","NcTextField","idNativeDateTimePicker","isNativePicker","isMultiselectType","nativeDatePickerType","datePickerType","onLeave","datetimepicker","closePopup","onInput","onSubmit","Yi","Ii","Gi","Li","$i","mouseleave","form","requestSubmit","Ui","Pi","zi","Hi","Wi","qi","Ki","toggleInput","radio","Vi","Ji","Xi","ta","ea","ia","aa","ra","nativeOn","sa","la","forceMenu","forceTitle","menuTitle","defaultIcon","boundariesElement","inline","opened","focusIndex","randomId","triggerBtnType","isValidSingleAction","componentOptions","Ctor","extendOptions","openMenu","returnFocus","menuButton","onOpen","focusFirstAction","onMouseFocusAction","activeElement","closest","querySelectorAll","focusAction","onKeydown","focusPreviousAction","focusNextAction","focusLastAction","removeCurrentActive","preventIfEvent","onFocus","onBlur","origin","slot","delay","handleResize","boundary","show","hide","Aa","ca","da","pa","ua","ma","ha","Ta","ba","fa","Ea","xa","Da","Sa","ka","wa","Na","Fa","Ba","themes","html","VTooltip","Za","toggleAppNavigationButton","emit","Ma","Ya","Ia","Ga","La","$a","ja","Ua","NcAppDetailsToggle","Pane","Splitpanes","allowSwipeNavigation","listSize","listMinWidth","listMaxWidth","paneConfigKey","showDetails","pageHeading","contentHeight","hasList","listPaneSize","restorePaneConfig","paneConfigID","info","detailsPaneSize","paneDefaults","details","list","updated","checkListSlot","mc","cssProps","handleSwipe","off","srcEvent","pageX","deltaX","abs","handlePaneResize","hideDetails","Pa","za","Ha","Wa","qa","resized","selection","showdetails","Ja","Xa","tr","er","nr","MenuIcon","MenuOpenIcon","toggleNavigation","ir","NcAppNavigationToggle","modifiers","auto","toggleNavigationByEventBus","unmounted","destroy","setTimeout","or","sr","lr","Ar","cr","pr","NcActions","hasActions","ur","mr","hr","gr","Cr","br","highlighted","vr","fr","Er","xr","yr","Sr","formattedColor","kr","wr","Nr","Fr","Rr","_r","vnodes","Or","Zr","Mr","ChevronUp","labelButton","Yr","Ir","Gr","Lr","labelConfirm","labelCancel","valueModel","set","confirm","cancel","focusInput","$r","jr","Ur","Pr","zr","Hr","Wr","qr","Qr","Kr","Vr","NcActionButton","NcAppNavigationIconCollapsible","NcInputConfirmCancel","NcVNodes","Pencil","allowCollapse","editable","editLabel","editPlaceholder","pinned","undo","menuOpen","menuIcon","menuPlacement","ariaDescription","forceDisplayActions","inlineActions","editingValue","editingActive","hasChildren","menuOpenLocalValue","focused","isRouterLink","collapsible","canHaveChildren","_componentTag","hasUtils","counter","editButtonAriaLabel","undoButtonAriaLabel","actionsBoundariesElement","updateSlotInfo","onMenuToggle","toggleCollapse","handleEdit","editingInput","cancelEditing","handleEditingDone","handleUndo","handleFocus","handleBlur","handleTab","isExternal","Jr","Xr","eo","no","ao","buttonId","ro","oo","so","lo","po","newItemValue","newItemActive","handleNewItem","newItemInput","cancelNewItem","handleNewItemDone","uo","mo","ho","go","Co","bo","vo","fo","Cog","clickOutsideConfig","Eo","xo","So","ko","No","pause","clearTimeout","clear","getTimeLeft","getStateRunning","Fo","Ro","Bo","_o","Oo","Zo","Mo","Yo","Io","ChevronLeft","ChevronRight","Pause","Play","hasPrevious","hasNext","outTransition","enableSlideshow","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","closeButtonContained","additionalTrapElements","playing","slideshowTimeout","iconSize","randId","internalShow","showModal","modalTransitionName","playPauseTitle","cssVariables","closeButtonAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","mask","updateContainerElements","handleKeydown","insertBefore","lastChild","destroyed","previous","resetSlideshow","next","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","fallbackFocus","Go","Lo","$o","jo","Uo","Po","appear","stroke","cx","cy","currentTarget","invisible","zo","Wo","NcModal","showNavigation","selectedSection","linkClicked","addedScrollListener","scroller","hasNavigation","settingsNavigationAriaLabel","settingsScroller","handleScroll","getSettingsNavigation","handleSettingsNavigationClick","getElementById","scrollIntoView","behavior","handleCloseModal","unfocusNavigationItem","handleLinkKeydown","code","event","qo","Qo","Ko","Vo","Jo","ts","htmlId","es","ns","as","provide","registerTab","unregisterTab","getActiveTab","activeTab","tabs","hasMultipleTabs","currentTabIndex","findIndex","updateActive","setActive","focusPreviousTab","focusActiveTab","focusNextTab","focusFirstTab","focusLastTab","focusActiveTabContent","order","OC","Util","naturalSortCompare","rs","os","ss","button","renderIcon","ls","description","hasTitle","hasDescription","As","cs","ds","ps","us","linkify","Cs","Ts","bs","vs","fs","NcAppSidebarTabs","NcEmptyContent","Star","StarOutline","Tooltip","titleEditable","titlePlaceholder","subtitleTooltip","background","starred","starLoading","compact","empty","linkifyTitle","titleTooltip","changeTitleTranslated","closeTranslated","favoriteTranslated","isStarred","canStar","hasFigure","hasFigureClickListener","onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave","closeSidebar","onFigureClick","toggleStarred","editTitle","titleInput","onTitleInput","onSubmitTitle","onDismissEditing","onUpdateActive","Es","xs","ys","Ds","Ss","ks","ws","Fs","inject","expose","onScroll","scrollHeight","clientHeight","Bs","scroll","Os","disableDrop","hovering","crumbId","linkAttributes","onOpenChange","dropped","dragEnter","dragLeave","relatedTarget","crumb","Zs","Ms","Ys","Is","Gs","draggable","dragstart","drop","dragover","dragenter","dragleave","$s","js","Us","Ps","zs","Hs","NcActionRouter","NcActionLink","NcBreadcrumb","IconFolder","rootIcon","hiddenIndices","menuBreadcrumbProps","breadcrumbsRefs","delayedResize","hideCrumbs","closeActions","actionsBreadcrumb","offsetWidth","getTotalWidth","breadcrumb__actions","pow","getWidth","elm","arraysEqual","minWidth","dragStart","dragOver","isBreadcrumb","Fragment","Ws","qs","Qs","Ks","Vs","Xs","tl","el","nl","il","al","rl","ol","sl","ll","Al","cl","dl","pl","ul","ml","hl","gl","buttonVariant","buttonVariantGrouped","indeterminate","wrapperElement","inputType","isChecked","checkboxRadioIconElement","onToggle","getInputsSet","getElementsByName","Cl","Tl","bl","vl","fl","xl","yl","Dl","Sl","kl","ArrowLeft","Chrome","advancedFields","palette","currentColor","advanced","ariaBack","ariaMore","handleConfirm","handleClose","handleBack","handleMoreSettings","pickColor","hex","wl","Nl","Fl","Rl","Bl","mode","Ol","Zl","Ml","Yl","Il","Gl","$l","counterClassObject","jl","Ul","Pl","zl","Hl","ql","targetUrl","avatarUsername","avatarIsNoUser","overlayIconUrl","mainText","subText","itemMenu","hovered","gotMenu","gotOverlayIcon","onLinkClick","Ql","Kl","Vl","Jl","Xl","mouseover","eA","NcDashboardWidgetItem","showMoreUrl","showMoreLabel","showItemsAndEmptyContent","emptyContentMessage","halfEmptyContentMessage","handlers","displayedItems","maxItemNumber","showHalfEmptyContentArea","halfEmptyContentString","showMore","nA","iA","aA","rA","oA","_m","lA","AA","cA","dA","pA","notfound","categories","recent","smileys","people","nature","foods","activity","places","objects","symbols","flags","uA","Emoji","Picker","activeSet","showPreview","allowUnselect","selectedEmoji","previewFallbackEmoji","previewFallbackTitle","setup","EmojiIndex","emojiIndex","i18n","native","clearSearch","unselect","picker","checkKeyEvent","mA","hA","gA","CA","TA","bA","vA","emoji","onSearch","EA","xA","yA","DA","SA","kA","wA","NA","RA","shortcutsDisabled","OCP","Accessibility","disableKeyboardShortcuts","onKeyDown","content","BA","_A","OA","ZA","MA","IA","NcCounterBubble","anchorId","bold","linkAriaLabel","actionsAriaLabel","counterNumber","counterType","hasSubtitle","displayActionsOnHoverFocus","hasIndicator","hasDetails","oneLine","showAdditionalElements","computedActionsAriaLabel","checkSlots","handleMouseover","showActions","hideActions","handleMouseleave","handleActionsUpdateOpen","indicator","GA","LA","$A","jA","UA","extra","zA","HA","WA","qA","VueMultiselect","trackBy","autoLimit","tagWidth","elWidth","ariaExpanded","maxOptions","limitString","localValue","willCloseOnSelect","updateWidth","formatLimitTitle","QA","KA","VA","JA","XA","ec","nodeType","nodeName","nodeValue","hasChildNodes","childNodes","DOMParser","parseFromString","canAssign","userAssignable","userVisible","ic","NcMultiselect","tags","inputValue","getValueObject","availableOptions","NextcloudVueDocs","method","generateRemoteUrl","tagLabel","ac","rc","oc","lc","Ac","cc","dc","pc","uc","showAlert","heading","shouldShowAlert","hc","gc","Cc","Tc","bc","fc","Ec","xc","yc","Dc","Sc","wc","labelTranslated","resourceTitle","Nc","Fc","Rc","NcResource","providerId","itemId","fileInfo","appEnabled","appswebroots","related_resources","headerTranslated","resources","isVisible","hasResourceInfo","isFiles","fetchRelatedResources","Bc","Oc","Zc","Mc","subline","haveStatus","Gc","Lc","frequently","_vue_richtext_widgets","_registerWidget","onDestroy","Pc","reference","hasCustomWidget","richObjectType","noAccess","accessible","descriptionStyle","lineClamp","webkitLineClamp","compactLink","openGraphObject","link","renderWidget","observer","ResizeObserver","contentRect","observe","disconnect","customWidget","richObject","zc","Hc","Wc","thumb","qc","Qc","Kc","NcReferenceWidget","referenceData","displayedReferences","firstReference","fetch","exec","catch","Vc","Xc","td","ed","nd","autolink","useMarkdown","visit","ad","SKIP","index","component","rd","tagName","od","sd","ld","Ad","cd","pd","ud","md","hd","gd","Cd","NcReferenceList","referenceLimit","markdownCssClasses","strong","em","h1","h2","h4","h5","h6","table","pre","blockquote","renderPlaintext","renderMarkdown","unified","use","prefix","processSync","Td","bd","vd","fd","Ed","xd","yd","_vue_richtext_custom_picker_elements","Dd","_registerCustomPickerElement","Sd","provider","isRegistered","renderResult","renderElement","domElement","object","_isVue","onCancel","element","detail","kd","wd","Nd","Fd","Rd","icon_url","imagePath","_vue_richtext_reference_providers","search_providers_ids","Zd","_vue_richtext_reference_provider_timestamps","Od","Md","Yd","Id","Gd","Ld","$d","LinkVariantIcon","selectedProvider","query","multiselectPlaceholder","isLink","onProviderSelected","jd","Ud","Pd","zd","abortController","inputPlaceholder","isLinkValid","onClear","abort","updateReference","AbortController","signal","Hd","Wd","qd","keyup","Qd","entry","Kd","Vd","Jd","rounded","thumbnailUrl","Xd","tp","ep","DotsHorizontalIcon","MagnifyIcon","NcSearchResult","showEmptyContent","searchQuery","selectedResult","resultsBySearchProvider","searchingMoreOf","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","entries","isCustomGroupTitle","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","searchMoreOf","searchProviders","searchOneProvider","allSettled","term","np","ip","ap","rp","op","providerList","standardLinkInput","searchInput","customElement","sp","NcCustomPickerElement","NcProviderList","NcRawLinkInput","NcSearch","initialProvider","focusOnCreate","MODES","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","now","timestamp","put","lp","Ap","cp","NcReferencePicker","ArrowLeftIcon","CloseIcon","isInsideViewer","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalTitle","modalTitle","modal_content","onProviderSelect","onBackClicked","referencePicker","dp","pp","up","mp","hp","Cp","Tp","bp","vp","fp","autoComplete","multiline","emojiAutocomplete","linkAutocomplete","textSmiles","tribute","autocompleteOptions","allowSpaces","fillAttr","lookup","menuItemTemplate","original","noMatchTemplate","selectTemplate","debouncedAutoComplete","emojiOptions","short_name","containerClass","itemClass","linkOptions","getLink","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","tooltipString","count","canEdit","paste","updateContent","attach","emojiTribute","linkTribute","contentEditable","detach","append","Bd","replaceWith","setCursorAfter","createRange","setEndAfter","collapse","getSelection","removeAllRanges","addRange","onPaste","clipboardData","files","getData","rangeCount","getRangeAt","deleteFromDocument","insertNode","setStart","endOffset","onDelete","isCollapsed","commonAncestorContainer","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","deleteContents","onEnter","onCtrlEnter","onKeyUp","stopImmediatePropagation","Ep","xp","yp","Dp","Sp","kp","wp","Fp","saving","indicatorColor","Rp","Bp","_p","Zp","Mp","Yp","fetchTags","optionsFilter","passthru","availableTags","Ip","Gp","Lp","jp","Up","HelpCircle","docUrl","limitWidth","docTitleTranslated","hasDocUrl","Pp","zp","Hp","Wp","qp","Kp","Vp","NcUserBubbleDiv","avatarImage","isPopoverComponent","popoverEmpty","isAvatarUrl","isCustomAvatar","hasUrl","isLinkComponent","styles","borderRadius","marginLeft","Jp","Xp","tu","eu","nu","floating","right","platform","rects","elements","strategy","rootBoundary","elementContext","altBoundary","padding","getClippingRect","isElement","contextElement","getDocumentElement","getOffsetParent","getScale","convertOffsetParentRelativeRectToViewportRelativeRect","rect","offsetParent","getDimensions","centerOffset","cross","middlewareData","alignment","allowedPlacements","autoAlignment","autoPlacement","reset","overflows","initialPlacement","mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","referenceHiddenOffsets","referenceHidden","escapedOffsets","escaped","getClientRects","getElementRects","alignmentAxis","availableHeight","availableWidth","getWindow","node","_node$ownerDocument","ownerDocument","defaultView","getComputedStyle$1","getCssDimensions","parseFloat","offsetHeight","shouldFallback","fallback","getNodeName","isNode","uaString","getUAString","uaData","userAgentData","brands","brand","isHTMLElement","Node","isShadowRoot","ShadowRoot","isOverflowElement","overflow","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","backdropFilter","WebkitBackdropFilter","transform","perspective","willChange","contain","isLayoutViewport","isLastTraversableNode","unwrapElement","FALLBACK_SCALE","isFinite","includeScale","isFixedStrategy","_win$visualViewport","_win$visualViewport2","clientRect","scale","win","addVisualOffsets","visualViewport","offsetLeft","offsetWin","currentIFrame","frameElement","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getNodeScroll","scrollLeft","getWindowScrollBarX","getParentNode","assignedSlot","host","getNearestOverflowAncestor","getOverflowAncestors","scrollableAncestor","isBody","getClientRectFromClippingAncestor","clippingAncestor","layoutViewport","getViewportRect","getInnerBoundingClientRect","scrollWidth","direction","getDocumentRect","getTrueOffsetParent","position","currentNode","getContainingBlock","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","_ref","clippingAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","containingBlock","ancestor","getClippingElementAncestors","firstClippingAncestor","clippingRect","accRect","getOffsetParentFn","getDimensionsFn","ancestorScroll","_ancestorScroll","ancestorResize","elementResize","animationFrame","ancestors","passive","frameId","initialUpdate","prevRefRect","frameLoop","nextRefRect","requestAnimationFrame","_observer","cancelAnimationFrame","Map","mergedOptions","platformWithCache","randomUUID","crypto","getRandomValues","rnds8","Uint8Array","rng","byteToHex","buf","rnds","arr","unsafeStringify","ModificationNotAllowedError","lockableTrait","baseClass","args","super","_mutable","isLocked","lock","unlock","_modify","_modifyContent","ExpectedICalJSError","str","ucFirst","startStringWith","startWith","GLOBAL_CONFIG","getConfig","defaultValue","createProperty","propertyName","observerTrait","_subscribers","_notifySubscribers","Parameter","_name","getFirstValue","isMultiValue","clone","parameter","AbstractValue","icalValue","_innerValue","toICALJs","BinaryValue","rawValue","decodeValue","decodedValue","setEncodedValue","fromRawValue","static","icalBinary","fromICALJs","DurationValue","weeks","days","hours","minutes","seconds","isNegative","totalSeconds","toSeconds","fromSeconds","compare","otherDuration","addDuration","normalize","subtractDuration","icalDuration","fromData","DateTimeValue","day","hour","minute","second","zone","tzid","timezone","isDate","unixTime","toUnixTime","jsDate","toJSDate","duration","subtractDateWithoutTimezone","other","subtractDate","subtractDateWithTimezone","subtractDateTz","compareDateOnlyInGivenTimezone","compareDateOnlyTz","toICALTimezone","getInTimezone","clonedICALTime","convertToZone","getICALTimezone","getInICALTimezone","getInUTC","utcTimezone","silentlyReplaceTimezone","replaceTimezone","utcOffset","isFloatingTime","useUTC","fromJSDate","SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","DEFAULT_WEEK_START","PeriodValue","_start","_end","_duration","getEnd","getDuration","icalPeriod","ALLOWED_FREQ","RecurValue","until","_until","interval","weekStart","wkst","frequency","freq","setToInfinite","isByCount","addComponent","componentName","setComponent","parts","removeComponent","getComponent","isRuleValid","icalRecur","UTCOffsetValue","factor","icalUTCOffset","UnknownICALTypeError","Property","parameters","root","_parameters","_root","_parent","_setParametersFromConstructor","addValue","hasValue","removeValue","setParameter","getParameter","parameterName","getParameterFirstValue","hasParameter","has","deleteParameter","delete","updateParameterIfExist","isDecoratedValue","getParametersIterator","getValueIterator","_cloneValue","val","icalProperty","isDecorated","icaltype","getConstructorForICALType","getValues","toJSON","paramName","setValues","setValue","firstValue","AttachmentProperty","formatType","fmtType","uri","encoding","fromDecodedValue","binaryValue","property","AttendeeProperty","allowed","userType","rsvp","commonName","participationStatus","vobjectType","VEVENT","VJOURNAL","VTODO","email","isOrganizer","icalendar","conference","defaultType","param","feature","valueType","multiValue","ConferenceProperty","listAllFeatures","addFeature","featureToAdd","hasFeature","removeFeature","clearAllFeatures","features","FreeBusyProperty","period","GeoProperty","latitude","lat","longitude","long","ImageProperty","RelationProperty","relationType","relatedId","relType","relId","RequestStatusProperty","statusCode","statusMessage","exceptionData","isPending","isSuccessful","isClientError","isSchedulingError","SUCCESS","SUCCESS_FALLBACK","SUCCESS_PROP_IGNORED","SUCCESS_PROPPARAM_IGNORED","SUCCESS_NONSTANDARD_PROP_IGNORED","SUCCESS_NONSTANDARD_PROPPARAM_IGNORED","SUCCESS_COMP_IGNORED","SUCCESS_FORWARDED","SUCCESS_REPEATING_IGNORED","SUCCESS_TRUNCATED_END","SUCCESS_REPEATING_VTODO_IGNORED","SUCCESS_UNBOUND_RRULE_CLIPPED","CLIENT_INVALID_PROPNAME","CLIENT_INVALID_PROPVALUE","CLIENT_INVALID_PROPPARAM","CLIENT_INVALID_PROPPARAMVALUE","CLIENT_INVALUD_CALENDAR_COMP_SEQ","CLIENT_INVALID_DATE_TIME","CLIENT_INVALID_RRULE","CLIENT_INVALID_CU","CLIENT_NO_AUTHORITY","CLIENT_UNSUPPORTED_VERSION","CLIENT_TOO_LARGE","CLIENT_REQUIRED_COMP_OR_PROP_MISSING","CLIENT_UNKNOWN_COMP_OR_PROP","CLIENT_UNSUPPORTED_COMP_OR_PROP","CLIENT_UNSUPPORTED_CAPABILITY","SCHEDULING_EVENT_CONFLICT","SERVER_REQUEST_NOT_SUPPORTED","SERVER_SERVICE_UNAVAILABLE","SERVER_INVALID_CALENDAR_SERVICE","SERVER_NO_SCHEDULING_FOR_USER","TextProperty","alternateText","altRep","TriggerProperty","related","isRelative","alarmTime","alarmOffset","relatedToStart","getConstructorForPropertyName","propName","AbstractComponent","properties","_properties","_components","_setPropertiesFromConstructor","_setComponentsFromConstructor","getPropertyIterator","getComponentIterator","getFirstProperty","getFirstPropertyFirstValue","updatePropertyWithValue","newProperty","addProperty","hasProperty","_getFirstOfPropertyByLang","_getAllOfPropertyByLang","deleteProperty","deleteAllProperties","getFirstComponent","hasComponent","deleteComponent","deleteAllComponents","newComponent","icalProp","getAllProperties","icalComp","getAllSubcomponents","_getConstructorForComponentName","prop","comp","addSubcomponent","advertiseSingleOccurrenceProperty","advertiseValueOnly","iCalendarName","pluralName","allowedValues","unknownValue","getDefaultOncePropConfig","advertiseMultipleOccurrenceProperty","getDefaultMultiplePropConfig","advertiseMultiValueStringPropertySeparatedByLang","languageParameter","dateFactory","RecurringWithoutDtStartError","RecurrenceManager","masterItem","_masterItem","_recurrenceExceptionItems","_rangeRecurrenceExceptionItemsIndex","_rangeRecurrenceExceptionItemsDiffCache","_rangeRecurrenceExceptionItems","getRecurrenceExceptionList","getRecurrenceExceptionIterator","hasRecurrenceExceptionForId","recurrenceId","getRecurrenceException","hasRangeRecurrenceExceptionForId","getRangeRecurrenceExceptionForId","binsearchInsert","getRangeRecurrenceExceptionDiff","recurrenceException","originalRecurrenceId","difference","startDate","relateRecurrenceException","recurrenceExceptionItem","_getRecurrenceIdKey","modifiesFuture","recurrenceManager","removeRecurrenceException","removeRecurrenceExceptionByRecurrenceId","getRecurrenceRuleList","getRecurrenceRuleIterator","addRecurrenceRule","recurrenceRule","resetCache","removeRecurrenceRule","clearAllRecurrenceRules","_getPropertiesForRecurrenceDate","listAllRecurrenceDates","getRecurrenceDateIterator","addRecurrenceDate","_getValueTypeByValue","first","markPropertyAsDirty","_getPropertyNameByIsNegative","hasRecurrenceDate","getRecurrenceDate","valueToCheck","removeRecurrenceDate","allValues","clearAllRecurrenceDates","rule","isEmptyRecurrenceSet","_getRecurExpansionObject","getOccurrenceAtExactly","isRecurring","getReferenceRecurrenceId","icalRecurrenceId","_getOccurrenceAtRecurrenceId","getClosestOccurrence","dateTimeValue","countAllOccurrencesBetween","queriedTimeRangeStart","queriedTimeRangeEnd","isInTimeFrame","queriedICALJsTimeRangeStart","queriedICALJsTimeRangeEnd","recurrenceIdKeys","maximumRecurrenceId","occurrence","compareDate","endDate","isRecurrenceException","getAllOccurrencesBetween","getAllOccurrencesBetweenIterator","updateUID","newUID","updateStartDateOfMasterItem","newStartDate","oldStartDate","exdate","rrule","canCreateRecurrenceExceptions","forkItem","rangeRecurrenceException","dtstart","last","ruleIterators","ruleDateInc","ruleDates","ruleDate","exDates","ruleValue","rDateValue","exDateValue","exDateInc","exDate","complete","Timezone","_timezoneId","_ics","_initialized","offsetForArray","_initialize","timestampToArray","fromUnixTime","local","jCal","utc","localTimezone","AlarmComponent","addAttendeeFromNameAndEMail","attendeeProperty","fromNameAndEMail","setTriggerFromAbsolute","triggerProperty","fromAbsolute","setTriggerFromRelative","fromRelativeAndRelated","AbstractRecurringComponent","_primaryItem","_isExactForkOfPrimary","_originalRecurrenceId","_recurrenceManager","_dirty","_significantChange","_cachedId","primaryItem","isExactForkOfPrimary","isMasterItem","isPartOfRecurrenceSet","startDiff","originalTimezone","dtStartValue","recurrenceDate","dtEnd","due","resetDirty","primaryIsRecurring","createRecurrenceException","thisAndAllFuture","previousPrimaryItem","_overridePrimaryItem","removeThisOccurrence","addRelation","fromEmpty","attendee","getAttendeeIterator","recurDate","valueDateTimeRecurDate","recurValue","exceptionDate","exception","_addAttendee","addAttendeeFromNameEMailRoleUserTypeAndRSVP","fromNameEMailRoleUserTypeAndRSVP","setOrganizerFromNameAndEMail","addAttachmentFromData","addAttachmentFromLink","fromLink","addContact","contact","addComment","comment","addImageFromData","addImageFromLink","fromRelTypeAndId","addRequestStatus","fromCodeAndMessage","addAbsoluteAlarm","alarmComp","addRelativeAlarm","markDirty","markChangesAsSignificant","markSubComponentAsDirty","isDirty","undirtify","sequence","getTypeOfBirthdayEvent","eventComponent","getDefaultMultipleCompConfig","EventComponent","isAllDay","canModifyAllDay","dtend","setGeographicalPositionFromLatitudeAndLongitude","fromPosition","addConference","fromURILabelAndFeatures","addDurationToStart","addDurationToEnd","shiftByDuration","delta","allDay","defaultTimezone","defaultAllDayDuration","defaultTimedDuration","currentAllDay","isBirthdayEvent","getIconForBirthdayEvent","getIconForBirthday","getAgeForBirthdayEvent","yearOfOccurrence","yearOfBirth","getAgeOfBirthday","toICSEntireSeries","toICS","toICSThisOccurrence","FreeBusyComponent","JournalComponent","addDescription","TimezoneComponent","toTimezone","ToDoComponent","propertiesToCheck","propertyToCheck","dueTime","geographicalPosition","CalendarComponent","getEventIterator","getJournalIterator","getTodoIterator","compName","getConstructorForComponentName","cleanUpTimezones","vObject","getVObjectIterator","icalRoot","updateTimezones","additionalProps","tzData","aliases","GMT","GMT0","Greenwich","UCT","Universal","Zulu","zones","timezoneManager","_aliases","_timezones","getTimezoneForId","_getTimezoneForIdRec","level","resolvedTimezoneId","hasTimezoneForId","isAlias","includeAliases","timezones","registerTimezone","registerDefaultTimezones","aliasName","unregisterTimezones","unregisterAlias","clearAllTimezones","getTimezoneManager","TimezoneAdapter","_timezoneManager","___CSS_LOADER_EXPORT___","ICAL","OPTIONS","TimezoneService","foldLength","newLineChar","helpers","vcal","allsubs","vtimezones","reqTzid","removeSubcomponent","isStrictlyNaN","strictParseInt","string","formatClassType","unescapedIndexOf","buffer","pos","seekVal","cmpfunc","mid","cmpval","low","high","dumpn","log","dump","aSrc","aDeep","getTime","obj","foldline","aLine","line","line_length","substr","pad2","trunc","inherits","child","descr","design","FROM_VCARD_NEWLINE","TO_VCARD_NEWLINE","createTextType","fromNewline","toNewline","matches","fromICAL","aValue","structuredEscape","newline","replaceNewlineReplace","replaceNewline","toICAL","regEx","DEFAULT_TYPE_TEXT","DEFAULT_TYPE_TEXT_MULTI","DEFAULT_TYPE_TEXT_STRUCTURED","structuredValue","DEFAULT_TYPE_INTEGER","DEFAULT_TYPE_DATETIME_DATE","allowedTypes","DEFAULT_TYPE_DATETIME","DEFAULT_TYPE_URI","DEFAULT_TYPE_UTCOFFSET","DEFAULT_TYPE_RECUR","DEFAULT_TYPE_DATE_ANDOR_TIME","commonProperties","commonValues","float","parsed","integer","decorate","UtcOffset","fromString","undecorate","icalValues","aString","Binary","aBinary","aProp","strict","Time","fromDateString","len","fromDateTimeString","Duration","isValueString","Period","fromJSON","recur","Recur","_stringToData","numericDayToIcalDay","aRecur","icalProperties","detectType","vcardValues","VCardTime","fromDateAndOrTimeString","splitzone","_splitZone","isFromIcal","lastChar","signChar","sign","vcardProperties","vcard3Values","binary","vcard","vcard3Properties","nickname","photo","bday","adr","tel","mailer","tz","geo","logo","agent","org","note","prodid","rev","sound","icalSet","allowXName","allowIanaToken","multiValueSeparateDQuote","vcardSet","vcard3Set","defaultSet","vcard3","vevent","vtodo","vjournal","valarm","vtimezone","daylight","standard","getDesignSet","LINE_ENDING","DEFAULT_VALUE_TYPE","designSet","propIdx","propLen","designSetName","comps","compIdx","compLen","noFold","jsName","params","_rfc6868Unescape","propertyValue","propDetails","isDefault","delim","innerMulti","RFC6868_REPLACE_MAP","CHAR","ParserError","stack","parser","state","_eachLine","err","_handleContentLine","lastParamIndex","lastValuePos","parsedParams","valuePos","paramPos","_parseParameters","pop","propertyDetails","_parseMultiValue","_parseValue","lcname","mvdelim","lastParam","_rfc6868Escape","extendedValue","nextPos","propValuePos","delimiter","lastPos","firstChar","newlineOffset","Component","_hydratedPropertyCount","_hydratedComponentCount","_designSet","_hydrateComponent","_hydrateProperty","getFirstSubcomponent","jCalLen","getFirstPropertyValue","_removeObjectByIndex","jCalIndex","_removeObject","nameOrObject","cached","_removeAllObjects","idx","nameOrComp","removed","removeAllSubcomponents","removeProperty","addPropertyWithValue","nameOrProp","removeAllProperties","getDefaultType","_updateType","designSetChanged","isStructuredValue","_hydrateValue","_values","_decorate","_undecorate","_setDecoratedValue","getFirstParameter","removeParameter","resetType","removeAllValues","toICALString","aData","_normalize","aSeconds","secs","instance","_b64_decode","_b64_encode","bits","b64","enc","tmp_arr","charCodeAt","o1","o2","o3","fromCharCode","wrappedJSObject","icalclass","aLenient","fromDateOrDateTimeString","DURATION_LETTERS","parseDurationChunk","letter","num","propsToCopy","aOther","thisSeconds","otherSeconds","aStr","dict","create","numeric","tznames","expandedUntilYear","changes","_ensureCoverage","tt_change","change_num","_findNearbyChange","change_num_to_use","step","prevUtcOffset","adjust_change","_compare_change_fn","zone_change","tmp_change","prev_zone_change","is_daylight","aYear","_minimumExpansionYear","today","changesEndYear","EXTRA_COVERAGE","MAX_YEAR","subcomps","_expandComponent","aComponent","convert_tzoffset","init_changes","changebase","rdatekey","adjust","occ","convert_time","from_zone","to_zone","UTC","_time","_dowCache","_wnCache","_cachedUnixTime","_pendingNormalization","epochTime","resetTo","aDate","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getSeconds","aZone","dayOfWeek","aWeekStart","firstDow","dowCacheKey","dayOfYear","is_leap","isLeapYear","daysInYearPassedMonth","startOfWeek","endOfWeek","startOfMonth","endOfMonth","daysInMonth","startOfYear","endOfYear","startDoyWeek","aFirstDayOfWeek","getDominicalLetter","nthWeekDay","aDayOfWeek","aPos","weekday","otherDay","isNthWeekDay","dow","weekNumber","week1","wnCacheKey","isoyear","weekOneStarts","daysBetween","answer","aDuration","mult","cmp","attr","_cmp_attr","copy","zone_equals","aExtraDays","aExtraHours","aExtraMinutes","aExtraSeconds","aTime","minutesOverflow","hoursOverflow","daysOverflow","yearsOverflow","epoch","defineAttr","fromDayOfYear","aDayOfYear","doy","auto_normalize","fromStringv2","aProperty","LTRS","dom","p2","hasMonth","hasDay","hasHour","hasMinute","hasSecond","datepart","timepart","aIcalType","part","tmz","tm","dtlen","tmlen","hasDashDate","hasDashTime","DOW_MAP","SU","MO","TU","WE","TH","FR","REVERSE_DOW_MAP","parseNumericValue","aStart","RecurIterator","aType","ucname","aValues","getNextOccurrence","aStartTime","aRecurrenceId","iter","uckey","partDesign","optionDesign","INTERVAL","icalDayToNumericDay","res","kparts","VALID_DAY_NAMES","VALID_BYDAY_PART","FREQ","fmtIcal","COUNT","UNTIL","WKST","BYSECOND","BYMINUTE","BYHOUR","BYDAY","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS","partArr","partArrIdx","partArrLen","icalrecur_iterator","completed","occurrence_number","by_indices","initialized","by_data","days_index","init","sort_byday_rules","setup_defaults","bydayParts","ruleDayOfWeek","wkdy","dayName","expand_year_days","increment_year","_nextByYearDay","has_by_data","tempLast","initLast","dayOfMonth","increment_month","_byDayAndMonthDay","valid","next_second","next_minute","next_hour","next_day","next_week","next_month","next_year","check_contracting_rules","next_generic","increment_second","inc","increment_generic","increment_minute","increment_hour","this_freq","increment_monthday","end_of_data","next_weekday_by_week","week_no","normalizeByMonthDayRules","newRules","ruleIdx","isInit","byMonthDay","dateLen","byDay","dateIdx","dayLen","dataIsValid","lastDay","initMonth","nextMonth","monthsCounter","dayIdx","data_valid","setpos","setpos_total","last_day","is_day_in_byday","check_set_position","coded_day","aRuleType","aInterval","aDateAttr","aFollowingAttr","aPreviousIncr","has_by_rule","dta","years","aFactor","aNextIncrement","nextunit","validWeeks","monthIdx","first_week","last_week","weekIdx","weekno","partCount","t1","monthkey","t2","monthdaykey","t3","day_","month_","expand_by_day","first_dow","doy_offset","last_dow","by_month_day","spIndex","daycodedkey","month_day","first_matching_day","last_matching_day","expandedDays","daykey","days_list","tmp","start_dow","end_dow","end_year_day","this_dow","aRules","check_contract_restriction","indexMapValue","_indexMap","ruleMapValue","_expandMap","pass","CONTRACT","ruleType","bydatakey","weekNo","req","deftime","UNKNOWN","EXPAND","ILLEGAL","RecurExpansion","formatTime","compareTime","_init","currentTry","_nextRecurrenceIter","_nextRuleDay","_nextExDay","_extractDates","handleProp","iters","iterTime","chosenIter","iterIdx","Event","_rangeExceptionCache","exceptions","rangeExceptions","strictExceptions","relateException","compareRangeException","THISANDFUTURE","findRangeException","rangeItem","getOccurrenceDetails","utcId","rangeExceptionId","newStart","startTime","getRecurrenceTypes","_firstProp","_setProp","_setTime","attendees","summary","organizer","ComponentParser","parseEvent","parseTimezone","oncomplete","ontimezone","onevent","process","ical","propertyIsEnumerable","horizontal","pushOtherPanes","dblClickSplitter","rtl","firstSplitter","requestUpdate","onPaneAdd","onPaneRemove","onPaneClick","ready","panes","touch","mouseDown","dragging","activeSplitter","splitterTaps","splitter","timeoutId","panesCount","indexedPanes","updatePaneComponents","bindEvents","unbindEvents","onMouseDown","calculatePanesSize","getCurrentMouseDrag","onSplitterClick","onSplitterDblClick","clientX","clientY","touches","getCurrentDragPercentage","prevPanesSize","sumPrevPanesSize","nextPanesSize","sumNextPanesSize","prevReachedMinPanes","nextReachedMinPanes","doPushOtherPanes","sums","panesToResize","findPrevExpandedPane","findNextExpandedPane","checkSplitpanesNodes","addSplitter","onmousedown","ontouchstart","onclick","ondblclick","removeSplitter","redoSplitters","_uid","minSize","maxSize","givenSize","resetPaneSizes","addedPane","removedPane","equalizeAfterAddOrRemove","equalize","initialPanesSizing","readjustSizes","deep","sizeNumber","minSizeNumber","maxSizeNumber","refs","ssrId","DEBUG","esModule","hsl","hsv","rgba","rgb","setAlpha","toHsl","toHsv","toHexString","hex8","toHex8String","toRgb","oldHue","getAlpha","colorChange","isValidHex","simpleCheckForValidColor","paletteUpperCase","isTransparent","__g","__file","store","__e","valueOf","copyright","pick","handlerClick","labelText","desc","arrowOffset","labelId","labelSpanText","handleChange","handleKeyDown","swatches","hue","normalizedSwatches","hueChange","handleSwClick","virtual","contentWindow","write","getOwnPropertyNames","pullDirection","directionClass","pointerTop","pointerLeft","pageY","handleMouseDown","handleMouseUp","unbindEventListeners","equal","disableFields","hasResetButton","acceptLabel","cancelLabel","resetLabel","newLabel","currentLabel","saturation","alpha","toFixed","childChange","inputChange","clickCurrentColor","handleAccept","handleCancel","handleReset","bgColor","throttle","leading","trailing","checkboard","gradientColor","getContext","fillStyle","fillRect","toDataURL","white","grey","bgStyle","presetColors","disableAlpha","activeColor","handlePreset","fieldsIndex","hasAlpha","toggleViews","showHighlight","hideHighlight","editableInput","defaultColors","triangle","Compact","Grayscale","Twitter","Material","Slider","Swatches","Photoshop","Sketch","Alpha","Checkboard","EditableInput","Hue","Saturation","ColorMixin","hsla","hsva","hex6","hex4","hex3","ok","_originalInput","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","desaturate","CSS_UNIT","isDark","getBrightness","isLight","getOriginalInput","getFormat","getLuminance","toHsvString","toHslString","toHex","toHex8","toRgbString","toPercentageRgb","toPercentageRgbString","toName","toFilter","_applyModification","lighten","brighten","darken","saturate","greyscale","spin","_applyCombination","analogous","complement","monochromatic","splitcomplement","triad","tetrad","fromRatio","equals","mix","readability","isReadable","mostReadable","includeFallbackColors","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","hexNames","_withStripped","borderColor","done","getPrototypeOf","Arguments","KEY","QObject","findChild","keyFor","useSetter","useSimple","isExtensible","preventExtensions","NEED","fastKey","getWeak","onFreeze","touchmove","touchstart","a100","a200","a400","a700","secondary","dividers","inactive","deepPurple","lightBlue","lightGreen","amber","deepOrange","blueGrey","darkText","lightText","darkIcons","lightIcons","maxWait","flush","NaN","mouseenter","mouseout","boxShadow","getChildNodes","$placeholder","$fakeParent","$nextSiblingPatched","$childNodesPatched","isFrag","parentNodeDescriptor","parentElement","patchParentNode","fakeParent","nextSiblingDescriptor","patchNextSibling","getChildNodesWithFragments","_childNodesDescriptor","realChildNodes","childNode","fromParent","getTopFragment","childNodesDescriptor","frag","firstChildDescriptor","patchChildNodes","_this$frag$","getFragmentLeafNodes","_Array$prototype","hasChildInFragment","removedNode","insertBeforeNode","addPlaceholder","_this","insertNodes","_frag","_lastNode","after","removePlaceholder","lastNode","innerHTMLDescriptor","htmlString","_this2","domify","nextSibling","previousSibling","createComment","fragment","createDocumentFragment","_vm","$event","toDate","RangeError","diff","getDay","setDate","setHours","startOfWeekYear","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","firstDateOfFirstWeek","getWeek","_ref2","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","REGEX_FORMAT","pad","output","getOffset","formatTimezone","delimeter","absOffset","meridiem","isLowercase","word","formatFlags","YY","YYYY","MMM","MMMM","DD","HH","getMilliseconds","SS","SSS","ddd","dddd","ZZ","ww","formatStr","p1","_toConsumableArray","arr2","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","ownKeys","enumerableOnly","sym","_objectSpread","_defineProperty","formattingTokens","match1","match2","match1to2","matchSigned","YEAR","MONTH","HOUR","MINUTE","SECOND","MILLISECOND","parseFlags","addParseFlag","token","regex","func","tokens","escapeStringRegExp","matchWordRegExp","localeKey","array","matchWordCallback","createDate","createUTCDate","_len","_key","setUTCFullYear","_options$locale","_locale","_options$backupDate","backupDate","parseResult","dateString","mark","parseTo","makeParser","millisecond","isPM","parsedDate","inputArray","to24hour","firstDate","backupArr","useBackup","getFullInputArray","_typeof","_extends","_objectSpread2","_arr","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_extends$1","cent","meridiemParse","defaultIsPM","_ref9","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","symbol","normalMerge","toArrayMerge","functionalMerge","mergeFn","helper","isValidRangeDate","getValidDate","backup","startOfDay","dirtyDate","dirtyMonth","setYear","dirtyYear","assignTime","chunk","isObject","mergeDeep","yearFormat","monthBeforeYear","defaultLocale","locales","isLocal","getScrollParent","script","prefixClass","visible","displayPopup","_clickoutEvent","handleClickOutside","relativeElement","_displayPopup","isRunning","rafThrottle","_scrollParent","evt","popup","_popupRect","originalDisplay","originalVisibility","marginRight","marginTop","marginBottom","getPopupElementSize","_this$_popupRect","_getRelativePosition","targetWidth","targetHeight","fixed","offsetX","offsetY","relativeRect","dw","dh","getRelativePosition","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","originalRender","existing","scrollBarWidth","__vue_component__","_h","__vue_component__$1","__vue_component__$2","__vue_component__$3","__vue_component__$4","__vue_component__$5","isDisabledArrows","handleIconDoubleLeftClick","handleIconLeftClick","handleIconDoubleRightClick","handleIconRightClick","yearMonth","panel","handlePanelChange","handleCellClick","dates","row","getRowClasses","getWeekNumber","cell","getCellClasses","getCellTitle","handleMouseEnter","handleMouseLeave","IconButton","onDateMouseEnter","onDateMouseLeave","disabledCalendarChanger","calendar","titleFormat","_this$getLocale","_this$getLocale$month","yearLabel","formatDate","monthLabel","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","nextMonthLength","_i2","getCalendar","getAttribute","_index$split$map2","col","fmt","__vue_component__$6","calendarYear","handleClick","__vue_component__$7","firstYear","lastYear","getYearPanel","getYears","CalendarPanel","dispatchDatePicker","defaultPanel","disabledDate","getClasses","partialUpdate","panels","innerCalendar","innerValue","calendarMonth","initCalendar","calendarDate","isDisabled","emitDate","handleCalendarChange","oldCalendar","handelPanelChange","oldPanel","getYearCellDate","_date","getMonthCellDate","_date2","handleSelectDate","getDateClasses","cellDate","notCurrentMonth","classes","getStateClass","getMonthClasses","_cellDate","getYearClasses","_cellDate2","getWeekState","CalendarRange","calendars","hoveredValue","calendarMinDiff","calendarMaxDiff","Infinity","defaultValues","updateCalendars","handleSelect","_this$innerValue","startValue","endValue","updateStartCalendar","updateEndCalendar","adjustIndex","gap","getCalendarGap","_calendars","calendarLeft","calendarRight","getRangeClasses","currentDates","classnames","inRange","range","_range$map2","calendarRange","__vue_component__$8","scrollbarWidth","thumbHeight","thumbTop","handleDragstart","outer","inner","getScrollbarWidth","handleDragend","getThumbSize","wrap","heightPercentage","_draggable","_prevY","handleDraging","padNumber","generateOptions","scrollTo","tick","__vue_component__$9","columns","ScrollbarVertical","scrollDuration","hourOptions","minuteOptions","secondOptions","showHour","showMinute","showSecond","hourStep","secondStep","use12h","cols","getHoursList","getMinutesList","getSecondsList","getAMPMList","scrollToSelected","_this3","setMinutes","_this4","setSeconds","_this5","scrollElement","colIndex","cellIndex","parseOption","__vue_component__$a","startMinutes","endMinutes","stepMinutes","timeMinutes","scrollTo$1","__vue_component__$b","showTimeHeader","handleClickTitle","timePickerOptions","innerForamt","ShowHourMinuteSecondAMPM","ListColumns","ListOptions","timeTitleFormat","disabledTime","defaultProps","isDisabledTime","isDisabledHour","isDisabledMinute","isDisabledAMPM","minHour","maxHour","TimeRange","_this$value","emitChange","handleSelectStart","handleSelectEnd","disabledStartTime","disabledEndTime","DatetimePanel","showTimePanel","defaultTimeVisible","timeVisible","closeTimePanel","openTimePanel","calendarProps","timeProps","clicktitle","DatetimeRange","datetimes","componentMap","componentRangeMap","rangeSeparator","inputAttr","popupClass","popupStyle","confirmText","renderInputText","shortcuts","userInput","defaultOpen","popupVisible","innerRangeSeparator","innerFormat","validMultipleType","value2date","isValidValue","showClearIcon","handleClickOutSide","getFormatter","parseDate","date2value","emitValue","isValidValueAndNotDisabled","handleMultipleDates","nextDates","handleClear","handleConfirmDate","handleSelectShortcut","openPopup","handleInputChange","handleInputInput","handleInputKeydown","handleInputBlur","handleInputFocus","hasSlot","renderSlot","slotFn","renderInput","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_objectWithoutProperties","calendarIcon","renderSidebar","renderHeader","renderFooter","_class","sidedar","install","Vue","TimePanel","ctor","superCtor","super_","TempCtor","arg","readUInt8","formatRegExp","isString","inspect","isNull","deprecate","msg","isUndefined","noDeprecation","warned","throwDeprecation","traceDeprecation","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","styleType","recurseTimes","isFunction","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","arrayToHash","isError","formatError","isRegExp","braces","toUTCString","formatProperty","formatArray","prev","cur","reduceToSingleString","objectToString","debuglog","env","NODE_DEBUG","pid","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","isWindows","normalizeArray","allowAboveRoot","trimArray","lastIndex","splitDeviceRe","splitTailRe","win32","win32SplitPath","filename","device","tail","result2","win32StatPath","path","isUnc","isAbsolute","normalizeUNCRoot","resolvedDevice","resolvedTail","resolvedAbsolute","cwd","trailingSlash","paths","joined","relative","lowerFrom","lowerTo","toParts","lowerFromParts","lowerToParts","samePartsLength","outputParts","_makeLong","resolvedPath","dirname","basename","ext","extname","pathObject","sep","pathString","allParts","splitPathRe","posix","posixSplitPath","segment","fromParts","cacheStringFunction","hyphenateRE","camelizeRE","unrefElement","elRef","plain","unref","defaultWindow","useResizeObserver","observerOptions","isSupported","isMounted","getCurrentInstance","onMounted","useMounted","useSupported","cleanup","targets","stopWatch","els","_el","stop","getCurrentScope","onScopeDispose","globalThis","global","POSITIVE_INFINITY","__name","__sfc","buttons","navigationClasses","contentClasses","dialogClasses","initialSize","box","isSVG","namespaceURI","boxSize","borderBoxSize","contentBoxSize","devicePixelContentBoxSize","$elem","formatBoxSize","acc","inlineSize","blockSize","ele","navigation","slots","wrapper","dialogWidth","isNavigationCollapsed","modalProps","DialogButton"],"sourceRoot":""} \ No newline at end of file diff --git a/js/activity-323.js b/js/activity-323.js new file mode 100644 index 000000000..01a53b76a --- /dev/null +++ b/js/activity-323.js @@ -0,0 +1,2 @@ +(self.webpackChunkactivity=self.webpackChunkactivity||[]).push([[323],{12323:(t,e,n)=>{var i;self,i=()=>(()=>{var t={9456:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(1560),a=n(1205),o=n(5512),r=n.n(o),s=n(6915),l=n.n(s);const c={name:"NcInputField",components:{NcButton:i.default,AlertCircle:r(),Check:l()},inheritAttrs:!1,props:{value:{type:String,required:!0},type:{type:String,default:"text",validator:t=>["text","password","email","tel","url","search","number"].includes(t)},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","trailing-button-click"],computed:{computedId(){return this.$attrs.id&&""!==this.$attrs.id?this.$attrs.id:this.inputName},inputName:()=>"input"+(0,a.Z)(),hasLeadingIcon(){return this.$slots.default},hasTrailingIcon(){return this.success},hasPlaceholder(){return""!==this.placeholder&&void 0!==this.placeholder},computedPlaceholder(){return this.labelVisible?this.hasPlaceholder?this.placeholder:"":this.hasPlaceholder?this.placeholder:this.label},isValidLabel(){const t=this.label||this.labelOutside;return t||console.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),t}},methods:{focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},handleInput(t){this.$emit("update:value",t.target.value)},handleTrailingButtonClick(t){this.$emit("trailing-button-click",t)}}}},3921:(t,e,n)=>{"use strict";n.d(e,{s:()=>i,x:()=>a});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"input-field"},[!t.labelOutside&&t.isValidLabel?e("label",{staticClass:"input-field__label",class:{"input-field__label--hidden":!t.labelVisible},attrs:{for:t.computedId}},[t._v("\n\t\t"+t._s(t.label)+"\n\t")]):t._e(),t._v(" "),e("div",{staticClass:"input-field__main-wrapper"},[e("input",t._g(t._b({ref:"input",staticClass:"input-field__input",class:[t.inputClass,{"input-field__input--trailing-icon":t.showTrailingButton||t.hasTrailingIcon,"input-field__input--leading-icon":t.hasLeadingIcon,"input-field__input--success":t.success,"input-field__input--error":t.error}],attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,"aria-describedby":t.helperText.length>0?"".concat(t.inputName,"-helper-text"):"","aria-live":"polite"},domProps:{value:t.value},on:{input:t.handleInput}},"input",t.$attrs,!1),t.$listeners)),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.hasLeadingIcon,expression:"hasLeadingIcon"}],staticClass:"input-field__icon input-field__icon--leading"},[t._t("default")],2),t._v(" "),t.showTrailingButton?e("NcButton",{staticClass:"input-field__clear-button",attrs:{type:"tertiary-no-background","aria-label":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick},scopedSlots:t._u([{key:"icon",fn:function(){return[t._t("trailing-button-icon")]},proxy:!0}],null,!0)}):t.success||t.error?e("div",{staticClass:"input-field__icon input-field__icon--trailing"},[t.success?e("Check",{attrs:{size:18}}):t.error?e("AlertCircle",{attrs:{size:18}}):t._e()],1):t._e()],1),t._v(" "),t.helperText.length>0?e("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":t.error,"input-field__helper-text-message--success":t.success},attrs:{id:"".concat(t.inputName,"-helper-text")}},[t.success?e("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):t.error?e("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):t._e(),t._v("\n\t\t"+t._s(t.helperText)+"\n\t")],1):t._e()])},a=[]},5445:(t,e,n)=>{"use strict";n.d(e,{default:()=>D});var i=n(1560),a=n(2297),o=n(1205),r=n(932),s=n(2734),l=n.n(s),c=n(1441),d=n.n(c);const A=".focusable",u={name:"NcActions",components:{NcButton:i.default,DotsHorizontal:d(),NcPopover:a.default},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},type:{type:String,validator:t=>-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(t),default:null},defaultIcon:{type:String,default:""},ariaLabel:{type:String,default:(0,r.t)("Actions")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:"bottom"},boundariesElement:{type:Element,default:()=>document.querySelector("body")},container:{type:[String,Object,Element,Boolean],default:"body"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0}},emits:["update:open","open","update:open","close","focus","blur"],data(){return{opened:this.open,focusIndex:0,randomId:"menu-".concat((0,o.Z)())}},computed:{triggerBtnType(){return this.type||(this.primary?"primary":this.menuTitle?"secondary":"tertiary")}},watch:{open(t){t!==this.opened&&(this.opened=t)}},methods:{isValidSingleAction(t){var e,n,i,a,o;const r=null!==(e=null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(a=i.extendOptions)||void 0===a?void 0:a.name)&&void 0!==e?e:null==t||null===(o=t.componentOptions)||void 0===o?void 0:o.tag;return["NcActionButton","NcActionLink","NcActionRouter"].includes(r)},openMenu(t){this.opened||(this.opened=!0,this.$emit("update:open",!0),this.$emit("open"))},closeMenu(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:t}),this.$emit("update:open",!1),this.$emit("close"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen(t){this.$nextTick((()=>{this.focusFirstAction(t)}))},onMouseFocusAction(t){if(document.activeElement===t.target)return;const e=t.target.closest("li");if(e){const t=e.querySelector(A);if(t){const e=[...this.$refs.menu.querySelectorAll(A)].indexOf(t);e>-1&&(this.focusIndex=e,this.focusAction())}}},onKeydown(t){(38===t.keyCode||9===t.keyCode&&t.shiftKey)&&this.focusPreviousAction(t),(40===t.keyCode||9===t.keyCode&&!t.shiftKey)&&this.focusNextAction(t),33===t.keyCode&&this.focusFirstAction(t),34===t.keyCode&&this.focusLastAction(t),27===t.keyCode&&(this.closeMenu(),t.preventDefault())},removeCurrentActive(){const t=this.$refs.menu.querySelector("li.active");t&&t.classList.remove("active")},focusAction(){const t=this.$refs.menu.querySelectorAll(A)[this.focusIndex];if(t){this.removeCurrentActive();const e=t.closest("li.action");t.focus(),e&&e.classList.add("active")}},focusPreviousAction(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction(t){if(this.opened){const e=this.$refs.menu.querySelectorAll(A).length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$refs.menu.querySelectorAll(A).length-1,this.focusAction())},preventIfEvent(t){t&&(t.preventDefault(),t.stopPropagation())},onFocus(t){this.$emit("focus",t)},onBlur(t){this.$emit("blur",t)}},render(t){const e=(this.$slots.default||[]).filter((t=>{var e,n,i,a;return(null==t||null===(e=t.componentOptions)||void 0===e?void 0:e.tag)||(null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(a=i.extendOptions)||void 0===a?void 0:a.name)})),n=e.every((t=>{var e,n,i,a,o,r,s,l;return"NcActionLink"===(null!==(e=null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(a=i.extendOptions)||void 0===a?void 0:a.name)&&void 0!==e?e:null==t||null===(o=t.componentOptions)||void 0===o?void 0:o.tag)&&(null==t||null===(r=t.componentOptions)||void 0===r||null===(s=r.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))}));let i=e.filter(this.isValidSingleAction);if(this.forceMenu&&i.length>0&&this.inline>0&&(l().util.warn("Specifying forceMenu will ignore any inline actions rendering."),i=[]),0===e.length)return;const a=e=>{var n,i,a,o,r,s,l,c,d,A,u,p,m,h,g,C,v,b,f,y,x,k;const w=(null==e||null===(n=e.data)||void 0===n||null===(i=n.scopedSlots)||void 0===i||null===(a=i.icon())||void 0===a?void 0:a[0])||t("span",{class:["icon",null==e||null===(o=e.componentOptions)||void 0===o||null===(r=o.propsData)||void 0===r?void 0:r.icon]}),_=null==e||null===(s=e.componentOptions)||void 0===s||null===(l=s.listeners)||void 0===l?void 0:l.click,S=null==e||null===(c=e.componentOptions)||void 0===c||null===(d=c.children)||void 0===d||null===(A=d[0])||void 0===A||null===(u=A.text)||void 0===u||null===(p=u.trim)||void 0===p?void 0:p.call(u),B=(null==e||null===(m=e.componentOptions)||void 0===m||null===(h=m.propsData)||void 0===h?void 0:h.ariaLabel)||S,N=this.forceTitle?S:"";let j=null==e||null===(g=e.componentOptions)||void 0===g||null===(C=g.propsData)||void 0===C?void 0:C.title;return this.forceTitle||j||(j=S),t("NcButton",{class:["action-item action-item--single",null==e||null===(v=e.data)||void 0===v?void 0:v.staticClass,null==e||null===(b=e.data)||void 0===b?void 0:b.class],attrs:{"aria-label":B,title:j},ref:null==e||null===(f=e.data)||void 0===f?void 0:f.ref,props:{type:this.type||(N?"secondary":"tertiary"),disabled:this.disabled||(null==e||null===(y=e.componentOptions)||void 0===y||null===(x=y.propsData)||void 0===x?void 0:x.disabled),ariaHidden:this.ariaHidden,...null==e||null===(k=e.componentOptions)||void 0===k?void 0:k.propsData},on:{focus:this.onFocus,blur:this.onBlur,...!!_&&{click:t=>{_&&_(t)}}}},[t("template",{slot:"icon"},[w]),N])},o=e=>{var i,a;const o=(null===(i=this.$slots.icon)||void 0===i?void 0:i[0])||(this.defaultIcon?t("span",{class:["icon",this.defaultIcon]}):t("DotsHorizontal",{props:{size:20}}));return t("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,popoverBaseClass:"action-item__popper",setReturnFocus:null===(a=this.$refs.menuButton)||void 0===a?void 0:a.$el},attrs:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,popoverBaseClass:"action-item__popper"},on:{show:this.openMenu,"after-show":this.onOpen,hide:this.closeMenu}},[t("NcButton",{class:"action-item__menutoggle",props:{type:this.triggerBtnType,disabled:this.disabled,ariaHidden:this.ariaHidden},slot:"trigger",ref:"menuButton",attrs:{"aria-haspopup":n?null:"menu","aria-label":this.menuTitle?null:this.ariaLabel,"aria-controls":this.opened?this.randomId:null,"aria-expanded":this.opened.toString()},on:{focus:this.onFocus,blur:this.onBlur}},[t("template",{slot:"icon"},[o]),this.menuTitle]),t("div",{class:{open:this.opened},attrs:{tabindex:"-1"},on:{keydown:this.onKeydown,mousemove:this.onMouseFocusAction},ref:"menu"},[t("ul",{attrs:{id:this.randomId,tabindex:"-1",role:n?null:"menu"}},[e])])])};if(1===e.length&&1===i.length&&!this.forceMenu)return a(i[0]);if(i.length>0&&this.inline>0){const n=i.slice(0,this.inline),r=e.filter((t=>!n.includes(t)));return t("div",{class:["action-items","action-item--".concat(this.triggerBtnType)]},[...n.map(a),r.length>0?t("div",{class:["action-item",{"action-item--open":this.opened}]},[o(r)]):null])}return t("div",{class:["action-item action-item--default-popover","action-item--".concat(this.triggerBtnType),{"action-item--open":this.opened}]},[o(e)])}};var p=n(3379),m=n.n(p),h=n(7795),g=n.n(h),C=n(569),v=n.n(C),b=n(3565),f=n.n(b),y=n(9216),x=n.n(y),k=n(4589),w=n.n(k),_=n(9886),S={};S.styleTagTransform=w(),S.setAttributes=f(),S.insert=v().bind(null,"head"),S.domAPI=g(),S.insertStyleElement=x(),m()(_.Z,S),_.Z&&_.Z.locals&&_.Z.locals;var B=n(4214),N={};N.styleTagTransform=w(),N.setAttributes=f(),N.insert=v().bind(null,"head"),N.domAPI=g(),N.insertStyleElement=x(),m()(B.Z,N),B.Z&&B.Z.locals&&B.Z.locals;var j=n(1900),z=n(5727),P=n.n(z),E=(0,j.Z)(u,void 0,void 0,!1,null,"657486e3",null);"function"==typeof P()&&P()(E);const D=E.exports},7374:(t,e,n)=>{"use strict";n.d(e,{default:()=>M});var i=n(2297),a=n(306),o=n(5378),r=n(7993),s=n(3351),l=n(932),c=n(768),d=n.n(c),A=n(1441),u=n.n(A),p=n(3607),m=n(542),h=n(7672),g=n(4262),C=n(4055);const v=(0,h.getBuilder)("nextcloud").persist().build();function b(t,e){t&&v.setItem("user-has-avatar."+t,e)}const f={name:"NcAvatar",directives:{ClickOutside:C.vOnClickOutside},components:{DotsHorizontal:u(),NcLoadingIcon:o.default,NcPopover:i.default,NcPopoverMenu:a.default},mixins:[s.iQ],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,Object,Element,Boolean],default:"body"}},data:()=>({avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}),computed:{avatarAriaLabel(){var t,e;if(this.hasMenu)return this.hasStatus&&this.showUserStatus&&this.showUserStatusCompact?(0,l.t)("Avatar of {displayName}, {status}",{displayName:null!==(e=this.displayName)&&void 0!==e?e:this.user,status:this.userStatus.status}):(0,l.t)("Avatar of {displayName}",{displayName:null!==(t=this.displayName)&&void 0!==t?t:this.user})},canDisplayUserStatus(){return this.showUserStatus&&this.hasStatus&&["online","away","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&"dnd"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return void 0!==this.user},isDisplayNameDefined(){return void 0!==this.displayName},isUrlDefined(){return void 0!==this.url},hasMenu(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=(0,p.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle(){return{"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(.45*this.size)+"px"}},initialsWrapperStyle(){const{r:t,g:e,b:n}=(0,r.default)(this.getUserIdentifier);return{backgroundColor:"rgba(".concat(t,", ").concat(e,", ").concat(n,", 0.1)")}},initialsStyle(){const{r:t,g:e,b:n}=(0,r.default)(this.getUserIdentifier);return{color:"rgb(".concat(t,", ").concat(e,", ").concat(n,")")}},tooltip(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials(){let t;if(this.shouldShowPlaceholder){const 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(){const t=this.contactsMenuActions.map((t=>({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,".concat(function(t){const e=document.createTextNode(t),n=document.createElement("p");return n.appendChild(e),n.innerHTML}(this.userStatus.icon),""),text:"".concat(this.userStatus.message)}].concat(t):t}},watch:{url(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted(){this.loadAvatarUrl(),(0,m.subscribe)("settings:avatar:updated",this.loadAvatarUrl),(0,m.subscribe)("settings:display-name:updated",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),(0,m.subscribe)("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroy(){(0,m.unsubscribe)("settings:avatar:updated",this.loadAvatarUrl),(0,m.unsubscribe)("settings:display-name:updated",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(0,m.unsubscribe)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow(){const t=this.$refs.popoverMenu.$el.getElementsByTagName("a");t.length&&t[0].focus()},handlePopoverAfterHide(){this.$refs.main.focus()},handleUserStatusUpdated(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},async toggleMenu(){this.hasMenu&&(this.contactsMenuOpenState||await this.fetchContactsMenu(),this.contactsMenuOpenState=!this.contactsMenuOpenState)},closeMenu(){this.contactsMenuOpenState=!1},async fetchContactsMenu(){this.contactsMenuLoading=!0;try{const t=encodeURIComponent(this.user),{data:e}=await d().post((0,g.generateUrl)("contactsmenu/findOne"),"shareType=0&shareWith=".concat(t));this.contactsMenuActions=e.topAction?[e.topAction].concat(e.actions):e.actions}catch(t){this.contactsMenuOpenState=!1}this.contactsMenuLoading=!1,this.isMenuLoaded=!0},loadAvatarUrl(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else if(this.size<=64){const t=this.avatarUrlGenerator(this.user,64),e=[t+" 1x",this.avatarUrlGenerator(this.user,512)+" 8x"].join(", ");this.updateImageIfValid(t,e)}else{const t=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(t)}},avatarUrlGenerator(t,e){var n;const i="invert(100%)"===window.getComputedStyle(document.body).getPropertyValue("--background-invert-if-dark");let a="/avatar/{user}/{size}"+(i?"/dark":"");this.isGuest&&(a="/avatar/guest/{user}/{size}"+(i?"/dark":""));let o=(0,g.generateUrl)(a,{user:t,size:e});return t===(null===(n=(0,p.getCurrentUser)())||void 0===n?void 0:n.uid)&&"undefined"!=typeof oc_userconfig&&(o+="?v="+oc_userconfig.avatar.version),o},updateImageIfValid(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=function(t){const e=v.getItem("user-has-avatar."+t);return"string"==typeof e?Boolean(e):null}(this.user);if(this.isUserDefined&&"boolean"==typeof n)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),void(!1===n&&(this.userDoesNotExist=!0));const i=new Image;i.onload=()=>{this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),this.isAvatarLoaded=!0,b(this.user,!0)},i.onerror=()=>{console.debug("Invalid avatar url",t),this.avatarUrlLoaded=null,this.avatarSrcSetLoaded=null,this.userDoesNotExist=!0,this.isAvatarLoaded=!1,b(this.user,!1)},e&&(i.srcset=e),i.src=t}}};var y=n(3379),x=n.n(y),k=n(7795),w=n.n(k),_=n(569),S=n.n(_),B=n(3565),N=n.n(B),j=n(9216),z=n.n(j),P=n(4589),E=n.n(P),D=n(4343),T={};T.styleTagTransform=E(),T.setAttributes=N(),T.insert=S().bind(null,"head"),T.domAPI=w(),T.insertStyleElement=z(),x()(D.Z,T),D.Z&&D.Z.locals&&D.Z.locals;var I=n(1900),$=n(3051),O=n.n($),G=(0,I.Z)(f,(function(){var t=this,e=t._self._c;return e("div",t._g({directives:[{name:"click-outside",rawName:"v-click-outside",value:t.closeMenu,expression:"closeMenu"}],ref:"main",staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":t.userDoesNotExist,"avatardiv--with-menu":t.hasMenu},style:t.avatarStyle,attrs:{title:t.tooltip,tabindex:t.hasMenu?"0":void 0,"aria-label":t.avatarAriaLabel,role:t.hasMenu?"button":void 0},on:{keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.toggleMenu.apply(null,arguments)}}},t.hasMenu?{click:t.toggleMenu}:{}),[t._t("icon",(function(){return[t.iconClass?e("div",{staticClass:"avatar-class-icon",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e("img",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:""}}):t._e()]})),t._v(" "),t.hasMenu?e("NcPopover",{attrs:{placement:"auto",container:t.menuContainer,shown:t.contactsMenuOpenState},on:{"after-show":t.handlePopoverAfterShow,"after-hide":t.handlePopoverAfterHide},scopedSlots:t._u([{key:"trigger",fn:function(){return[t.contactsMenuLoading?e("NcLoadingIcon"):e("DotsHorizontal",{staticClass:"icon-more",attrs:{size:20}})]},proxy:!0}],null,!1,2037777893)},[e("NcPopoverMenu",{ref:"popoverMenu",attrs:{menu:t.menu}})],1):t._e(),t._v(" "),t.showUserStatusIconOnAvatar?e("div",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[t._v("\n\t\t"+t._s(t.userStatus.icon)+"\n\t")]):t.canDisplayUserStatus?e("div",{staticClass:"avatardiv__user-status",class:"avatardiv__user-status--"+t.userStatus.status}):t._e(),t._v(" "),!t.userDoesNotExist||t.iconClass||t.$slots.icon?t._e():e("div",{staticClass:"avatardiv__initials-wrapper",style:t.initialsWrapperStyle},[e("div",{staticClass:"unknown",style:t.initialsStyle},[t._v("\n\t\t\t"+t._s(t.initials)+"\n\t\t")])])],2)}),[],!1,null,"b1ea54bc",null);"function"==typeof O()&&O()(G);const M=G.exports},1560:(t,e,n)=>{"use strict";n.d(e,{default:()=>x});const i={name:"NcButton",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:t=>-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(t),default:"secondary"},nativeType:{type:String,validator:t=>-1!==["submit","reset","button"].indexOf(t),default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},download:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render(t){var e,n,i,a,o,r=this;const s=null===(e=this.$slots.default)||void 0===e||null===(n=e[0])||void 0===n||null===(i=n.text)||void 0===i||null===(a=i.trim)||void 0===a?void 0:a.call(i),l=!!s,c=null===(o=this.$slots)||void 0===o?void 0:o.icon;s||this.ariaLabel||console.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:s,ariaLabel:this.ariaLabel},this);const d=function(){let{navigate:e,isActive:n,isExactActive:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t(r.to||!r.href?"button":"a",{class:["button-vue",{"button-vue--icon-only":c&&!l,"button-vue--text-only":l&&!c,"button-vue--icon-and-text":c&&l,["button-vue--vue-".concat(r.type)]:r.type,"button-vue--wide":r.wide,active:n,"router-link-exact-active":i}],attrs:{"aria-label":r.ariaLabel,disabled:r.disabled,type:r.href?null:r.nativeType,role:r.href?"button":null,href:!r.to&&r.href?r.href:null,target:!r.to&&r.href?"_self":null,rel:!r.to&&r.href?"nofollow noreferrer noopener":null,download:!r.to&&r.href&&r.download?r.download:null,...r.$attrs},on:{...r.$listeners,click:t=>{var n,i;null===(n=r.$listeners)||void 0===n||null===(i=n.click)||void 0===i||i.call(n,t),null==e||e(t)}}},[t("span",{class:"button-vue__wrapper"},[c?t("span",{class:"button-vue__icon",attrs:{"aria-hidden":r.ariaHidden}},[r.$slots.icon]):null,l?t("span",{class:"button-vue__text"},[s]):null])])};return this.to?t("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:d}}):d()}};var a=n(3379),o=n.n(a),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),d=n(3565),A=n.n(d),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),g=n(4466),C={};C.styleTagTransform=h(),C.setAttributes=A(),C.insert=c().bind(null,"head"),C.domAPI=s(),C.insertStyleElement=p(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals;var v=n(1900),b=n(2102),f=n.n(b),y=(0,v.Z)(i,void 0,void 0,!1,null,"4c8c7bff",null);"function"==typeof f()&&f()(y);const x=y.exports},4378:(t,e,n)=>{"use strict";n.d(e,{default:()=>f});var i=n(281),a=n(1336);const o={name:"NcEllipsisedOption",components:{NcHighlight:i.default},props:{name:{type:String,default:""},search:{type:String,default:""}},computed:{needsTruncate(){return this.name&&this.name.length>=10},split(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2(){return this.needsTruncate?this.name.slice(this.split):""},highlight1(){return this.search?(0,a.Z)(this.name,this.search):[]},highlight2(){return this.highlight1.map((t=>({start:t.start-this.split,end:t.end-this.split})))}}};var r=n(3379),s=n.n(r),l=n(7795),c=n.n(l),d=n(569),A=n.n(d),u=n(3565),p=n.n(u),m=n(9216),h=n.n(m),g=n(4589),C=n.n(g),v=n(436),b={};b.styleTagTransform=C(),b.setAttributes=p(),b.insert=A().bind(null,"head"),b.domAPI=c(),b.insertStyleElement=h(),s()(v.Z,b),v.Z&&v.Z.locals&&v.Z.locals;const f=(0,n(1900).Z)(o,(function(){var t=this,e=t._self._c;return e("span",{staticClass:"name-parts",attrs:{title:t.name}},[e("NcHighlight",{staticClass:"name-parts__first",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(" "),t.part2?e("NcHighlight",{staticClass:"name-parts__last",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,"3daafbe0",null).exports},3148:(t,e,n)=>{"use strict";n.d(e,{default:()=>x});const i={name:"NcEmptyContent",props:{title:{type:String,default:""},description:{type:String,default:""}},computed:{hasTitle(){return""!==this.title},hasDescription(){var t;return""!==this.description||(null===(t=this.$slots.description)||void 0===t?void 0:t[0])}}};var a=n(3379),o=n.n(a),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),d=n(3565),A=n.n(d),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),g=n(635),C={};C.styleTagTransform=h(),C.setAttributes=A(),C.insert=c().bind(null,"head"),C.domAPI=s(),C.insertStyleElement=p(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals;var v=n(1900),b=n(9258),f=n.n(b),y=(0,v.Z)(i,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"empty-content",attrs:{role:"note"}},[t.$slots.icon?e("div",{staticClass:"empty-content__icon",attrs:{"aria-hidden":"true"}},[t._t("icon")],2):t._e(),t._v(" "),t._t("title",(function(){return[t.hasTitle?e("h2",{staticClass:"empty-content__title"},[t._v("\n\t\t\t"+t._s(t.title)+"\n\t\t")]):t._e()]})),t._v(" "),t.hasDescription?e("p",[t._t("description",(function(){return[t._v("\n\t\t\t"+t._s(t.description)+"\n\t\t")]}))],2):t._e(),t._v(" "),t.$slots.action?e("div",{staticClass:"empty-content__action"},[t._t("action")],2):t._e()],2)}),[],!1,null,"957b98b0",null);"function"==typeof f()&&f()(y);const x=y.exports},281:(t,e,n)=>{"use strict";n.d(e,{default:()=>c});var i=n(1336);const a={name:"NcHighlight",props:{text:{type:String,default:""},search:{type:String,default:""},highlight:{type:Array,default:()=>[]}},computed:{ranges(){let t=[];return this.search||0!==this.highlight.length?(t=this.highlight.length>0?this.highlight:(0,i.Z)(this.text,this.search),t.forEach(((e,n)=>{e.end(e.start0&&t.push({start:e.start<0?0:e.start,end:e.end>this.text.length?this.text.length:e.end}),t)),[]),t.sort(((t,e)=>t.start-e.start)),t=t.reduce(((t,e)=>{if(t.length){const n=t.length-1;t[n].end>=e.start?t[n]={start:t[n].start,end:Math.max(t[n].end,e.end)}:t.push(e)}else t.push(e);return t}),[]),t):t},chunks(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];const t=[];let e=0,n=0;for(;e=this.ranges.length&&ee.highlight?t("strong",{},e.text):e.text))):t("span",{},this.text)}};var o=n(1900),r=n(6274),s=n.n(r),l=(0,o.Z)(a,void 0,void 0,!1,null,null,null);"function"==typeof s()&&s()(l);const c=l.exports},3458:(t,e,i)=>{"use strict";i.d(e,{default:()=>w});const a=n(62466),o={name:"NcIconSvgWrapper",props:{svg:{type:String,default:""},title:{type:String,default:""}},data:()=>({cleanSvg:""}),async beforeMount(){await this.sanitizeSVG()},methods:{async sanitizeSVG(){this.svg&&(this.cleanSvg=await(0,a.sanitizeSVG)(this.svg))}}};var r=i(3379),s=i.n(r),l=i(7795),c=i.n(l),d=i(569),A=i.n(d),u=i(3565),p=i.n(u),m=i(9216),h=i.n(m),g=i(4589),C=i.n(g),v=i(8973),b={};b.styleTagTransform=C(),b.setAttributes=p(),b.insert=A().bind(null,"head"),b.domAPI=c(),b.insertStyleElement=h(),s()(v.Z,b),v.Z&&v.Z.locals&&v.Z.locals;var f=i(1900),y=i(1287),x=i.n(y),k=(0,f.Z)(o,(function(){var t=this;return(0,t._self._c)("span",{staticClass:"icon-vue",attrs:{role:"img","aria-hidden":!t.title,"aria-label":t.title},domProps:{innerHTML:t._s(t.cleanSvg)}})}),[],!1,null,"a3da3488",null);"function"==typeof x()&&x()(k);const w=k.exports},6750:(t,e,n)=>{"use strict";n.d(e,{default:()=>B});var i=n(7374),a=n(281),o=n(3458),r=n(3351);const s={name:"NcListItemIcon",components:{NcAvatar:i.default,NcHighlight:a.default,NcIconSvgWrapper:o.default},mixins:[r.iQ],props:{title:{type:String,required:!0},subtitle:{type:String,default:""},icon:{type:String,default:""},iconSvg:{type:String,default:""},iconTitle:{type:String,default:""},search:{type:String,default:""},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:()=>({margin:8}),computed:{hasIcon(){return""!==this.icon},hasIconSvg(){return""!==this.iconSvg},isValidSubtitle(){var t,e;return""!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough(){return this.avatarSize>=32},cssVars(){const t=this.noMargin?0:this.margin;return{"--height":this.avatarSize+2*t+"px","--margin":this.margin+"px"}}},beforeMount(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},l=s;var c=n(3379),d=n.n(c),A=n(7795),u=n.n(A),p=n(569),m=n.n(p),h=n(3565),g=n.n(h),C=n(9216),v=n.n(C),b=n(4589),f=n.n(b),y=n(808),x={};x.styleTagTransform=f(),x.setAttributes=g(),x.insert=m().bind(null,"head"),x.domAPI=u(),x.insertStyleElement=v(),d()(y.Z,x),y.Z&&y.Z.locals&&y.Z.locals;var k=n(1900),w=n(8488),_=n.n(w),S=(0,k.Z)(l,(function(){var t=this,e=t._self._c;return e("span",t._g({staticClass:"option",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e("NcAvatar",t._b({staticClass:"option__avatar",attrs:{"disable-menu":!0,"disable-tooltip":!0,"display-name":t.displayName||t.title,"is-no-user":t.isNoUser,size:t.avatarSize}},"NcAvatar",t.$attrs,!1)),t._v(" "),e("div",{staticClass:"option__details"},[e("NcHighlight",{staticClass:"option__lineone",attrs:{text:t.title,search:t.search}}),t._v(" "),t.isValidSubtitle&&t.isSizeBigEnough?e("NcHighlight",{staticClass:"option__linetwo",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e("span",[e("span",[t._v(t._s(t.userStatus.icon))]),t._v(" "),e("span",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(" "),t._t("default",(function(){return[t.hasIconSvg?e("NcIconSvgWrapper",{staticClass:"option__icon",attrs:{svg:t.iconSvg,title:t.iconTitle}}):t.hasIcon?e("span",{staticClass:"icon option__icon",class:t.icon,attrs:{"aria-label":t.iconTitle}}):t._e()]}))],2)}),[],!1,null,"4f3daf70",null);"function"==typeof _()&&_()(S);const B=S.exports},5378:(t,e,n)=>{"use strict";n.d(e,{default:()=>x});const i={name:"NcLoadingIcon",props:{size:{type:Number,default:20},appearance:{type:String,validator:t=>["auto","light","dark"].includes(t),default:"auto"},title:{type:String,default:""}},computed:{colors(){const t=["#777","#CCC"];return"light"===this.appearance?t:"dark"===this.appearance?t.reverse():["var(--color-loading-light)","var(--color-loading-dark)"]}}};var a=n(3379),o=n.n(a),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),d=n(3565),A=n.n(d),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),g=n(5030),C={};C.styleTagTransform=h(),C.setAttributes=A(),C.insert=c().bind(null,"head"),C.domAPI=s(),C.insertStyleElement=p(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals;var v=n(1900),b=n(9280),f=n.n(b),y=(0,v.Z)(i,(function(){var t=this,e=t._self._c;return e("span",{staticClass:"material-design-icon loading-icon",attrs:{"aria-label":t.title,role:"img"}},[e("svg",{attrs:{width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{fill:t.colors[0],d:"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z"}}),t._v(" "),e("path",{attrs:{fill:t.colors[1],d:"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,"c4a9cada",null);"function"==typeof f()&&f()(y);const x=y.exports},5202:(t,e,i)=>{"use strict";i.d(e,{default:()=>V});var a=i(7645),o=i(1206),r=i(932),s=i(1205),l=i(3648),c=i(5445),d=i(1560);function A(t,e){let n,i,a,o=e;this.start=function(){a=!0,i=new Date,n=setTimeout(t,o)},this.pause=function(){a=!1,clearTimeout(n),o-=new Date-i},this.clear=function(){a=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return a&&(this.pause(),this.start()),o},this.getStateRunning=function(){return a},this.start()}var u=i(336);const p=n(32964);var m=i.n(p),h=i(9044),g=i.n(h),C=i(8618),v=i.n(C);const b=n(81857);var f=i.n(b);const y=n(53071);var x=i.n(y),k=i(4505),w=i(2640),_=i.n(w);const S={name:"NcModal",components:{NcActions:c.default,ChevronLeft:m(),ChevronRight:g(),Close:v(),Pause:f(),Play:x(),NcButton:d.default},directives:{tooltip:u.default},mixins:[l.Z],props:{title:{type:String,default:""},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:t=>["small","normal","large","full"].includes(t)},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:[String,null],default:"body"},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:()=>[]},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0}},emits:["previous","next","close","update:show"],data:()=>({mc:null,playing:!1,slideshowTimeout:null,iconSize:24,focusTrap:null,randId:(0,s.Z)(),internalShow:!0}),computed:{showModal(){return void 0===this.show?this.internalShow:this.show},modalTransitionName(){return"modal-".concat(this.outTransition?"out":"in")},playPauseTitle(){return this.playing?(0,r.t)("Pause slideshow"):(0,r.t)("Start slideshow")},cssVariables(){return{"--slideshow-duration":this.slideshowDelay+"ms","--icon-size":this.iconSize+"px"}},closeButtonAriaLabel:()=>(0,r.t)("Close modal"),prevButtonAriaLabel:()=>(0,r.t)("Previous"),nextButtonAriaLabel:()=>(0,r.t)("Next")},watch:{slideshowPaused(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements(t){if(this.focusTrap){const e=this.$refs.mask;this.focusTrap.updateContainerElements([e,...t])}}},beforeMount(){window.addEventListener("keydown",this.handleKeydown)},beforeDestroy(){window.removeEventListener("keydown",this.handleKeydown),this.mc.off("swipeleft swiperight"),this.mc.destroy()},mounted(){this.useFocusTrap(),this.mc=new(_())(this.$refs.mask),this.mc.on("swipeleft swiperight",(t=>{this.handleSwipe(t)})),this.container&&("body"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed(){this.clearFocusTrap(),this.$el.remove()},methods:{previous(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit("previous",t))},next(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit("next",t))},close(t){this.canClose&&(this.internalShow=!1,this.$emit("update:show",!1),setTimeout((()=>{this.$emit("close",t)}),300))},handleKeydown(t){switch(t.keyCode){case 37:this.previous(t);break;case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe(t){this.enableSwipe&&("swipeleft"===t.type?this.next(t):"swiperight"===t.type&&this.previous(t))},togglePlayPause(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow(){this.playing=!0,this.hasNext?this.slideshowTimeout=new A((()=>{this.next(),this.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout(){this.slideshowTimeout&&this.slideshowTimeout.clear()},async useFocusTrap(){if(!this.showModal||this.focusTrap)return;const t=this.$refs.mask;await this.$nextTick();const e={allowOutsideClick:!0,fallbackFocus:t,trapStack:(0,o.L)()};this.focusTrap=(0,k.createFocusTrap)(t,e),this.focusTrap.activate()},clearFocusTrap(){var t;this.focusTrap&&(null===(t=this.focusTrap)||void 0===t||t.deactivate(),this.focusTrap=null)}}},B=S;var N=i(3379),j=i.n(N),z=i(7795),P=i.n(z),E=i(569),D=i.n(E),T=i(3565),I=i.n(T),$=i(9216),O=i.n($),G=i(4589),M=i.n(G),U=i(4274),F={};F.styleTagTransform=M(),F.setAttributes=I(),F.insert=D().bind(null,"head"),F.domAPI=P(),F.insertStyleElement=O(),j()(U.Z,F),U.Z&&U.Z.locals&&U.Z.locals;var L=i(1900),R=i(9989),Z=i.n(R),W=(0,L.Z)(B,(function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"fade",appear:""},on:{"after-enter":t.useFocusTrap,"before-leave":t.clearFocusTrap}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],ref:"mask",staticClass:"modal-mask",class:{"modal-mask--dark":t.dark},style:t.cssVariables,attrs:{role:"dialog","aria-modal":"true","aria-labelledby":"modal-title-"+t.randId,"aria-describedby":"modal-description-"+t.randId,tabindex:"-1"}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("div",{staticClass:"modal-header"},[""!==t.title.trim()?e("h2",{staticClass:"modal-title",attrs:{id:"modal-title-"+t.randId}},[t._v("\n\t\t\t\t\t"+t._s(t.title)+"\n\t\t\t\t")]):t._e(),t._v(" "),e("div",{staticClass:"icons-menu"},[t.hasNext&&t.enableSlideshow?e("button",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.playPauseTitle,expression:"playPauseTitle",modifiers:{auto:!0}}],staticClass:"play-pause-icons",class:{"play-pause-icons--paused":t.slideshowPaused},attrs:{type:"button"},on:{click:t.togglePlayPause}},[t.playing?e("Pause",{staticClass:"play-pause-icons__pause",attrs:{size:t.iconSize}}):e("Play",{staticClass:"play-pause-icons__play",attrs:{size:t.iconSize}}),t._v(" "),e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.playPauseTitle)+"\n\t\t\t\t\t\t")]),t._v(" "),t.playing?e("svg",{staticClass:"progress-ring",attrs:{height:"50",width:"50"}},[e("circle",{staticClass:"progress-ring__circle",attrs:{stroke:"white","stroke-width":"2",fill:"transparent",r:"15",cx:"25",cy:"25"}})]):t._e()],1):t._e(),t._v(" "),e("NcActions",{staticClass:"header-actions",attrs:{inline:t.inlineActions}},[t._t("actions")],2),t._v(" "),t.canClose&&!t.closeButtonContained?e("NcButton",{staticClass:"header-close",attrs:{"aria-label":t.closeButtonAriaLabel,type:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:t.iconSize}})]},proxy:!0}],null,!1,1841713362)}):t._e()],1)])]),t._v(" "),e("transition",{attrs:{name:t.modalTransitionName,appear:""}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],staticClass:"modal-wrapper",class:["modal-wrapper--".concat(t.size),t.spreadNavigation?"modal-wrapper--spread-navigation":""],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close.apply(null,arguments)}}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasPrevious,expression:"hasPrevious"}],staticClass:"prev",class:{invisible:!t.hasPrevious},attrs:{type:"tertiary-no-background","aria-label":t.prevButtonAriaLabel},on:{click:t.previous},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ChevronLeft",{attrs:{size:40}})]},proxy:!0}])})],1),t._v(" "),e("div",{staticClass:"modal-container",attrs:{id:"modal-description-"+t.randId}},[t._t("default"),t._v(" "),t.canClose&&t.closeButtonContained?e("NcButton",{staticClass:"modal-container__close",attrs:{type:"tertiary","aria-label":t.closeButtonAriaLabel},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],2),t._v(" "),e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasNext,expression:"hasNext"}],staticClass:"next",class:{invisible:!t.hasNext},attrs:{type:"tertiary-no-background","aria-label":t.nextButtonAriaLabel},on:{click:t.next},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ChevronRight",{attrs:{size:40}})]},proxy:!0}])})],1)],1)])],1)])}),[],!1,null,"09b21bad",null);"function"==typeof Z()&&Z()(W);const q=W.exports;(0,a.Z)(q);const V=q},2917:(t,e,i)=>{"use strict";i.d(e,{default:()=>E});var a=i(3379),o=i.n(a),r=i(7795),s=i.n(r),l=i(569),c=i.n(l),d=i(3565),A=i.n(d),u=i(9216),p=i.n(u),m=i(4589),h=i.n(m),g=i(636),C={};C.styleTagTransform=h(),C.setAttributes=A(),C.insert=c().bind(null,"head"),C.domAPI=s(),C.insertStyleElement=p(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals;var v=i(4378),b=i(6750),f=i(5378),y=i(336),x=i(3648);const k=n(47907);var w=i.n(k);const _={name:"NcMultiselect",components:{NcEllipsisedOption:v.default,NcListItemIcon:b.default,NcLoadingIcon:f.default,VueMultiselect:w()},directives:{tooltip:y.default},mixins:[x.Z],inheritAttrs:!1,props:{value:{default:()=>[]},closeOnSelect:{type:Boolean,default:void 0},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:""},trackBy:{type:String,default:""},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:t=>t>0}},emits:["change","update:value"],data:()=>({elWidth:0,ariaExpanded:!1}),computed:{maxOptions(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){const t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString(){return"+".concat(this.value.length-this.maxOptions)},localValue:{get(){return this.trackBy&&this.options&&"object"!=typeof this.value&&this.options[this.value]?this.options[this.value]:this.value},set(t){this.$emit("update:value",t),this.$emit("change",t)}},willCloseOnSelect(){return void 0===this.closeOnSelect?!this.multiple:this.closeOnSelect}},watch:{value(){this.updateWidth()}},mounted(){this.updateWidth(),window.addEventListener("resize",this.updateWidth)},beforeDestroy(){window.removeEventListener("resize",this.updateWidth)},methods:{getOptionLabel(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle(t){if(Array.isArray(t)&&t.length>0){let e=t;return"object"==typeof t[0]&&(e=t.map((t=>t[this.label]))),e.slice(this.maxOptions).join(", ")}return""},updateWidth(){this.$el&&this.$el.querySelector(".multiselect__tags-wrap")&&(this.elWidth=this.$el.querySelector(".multiselect__tags-wrap").offsetWidth-10)}}},S=_;var B=i(1900),N=i(6049),j=i.n(N),z=(0,B.Z)(S,(function(){var t=this,e=t._self._c;return e("VueMultiselect",t._g(t._b({ref:"VueMultiselect",class:[t.multiple?"multiselect--multiple":"multiselect--single"],attrs:{options:t.options,limit:t.maxOptions,loading:t.loading,"aria-expanded":t.ariaExpanded.toString(),"close-on-select":t.willCloseOnSelect,multiple:t.multiple,label:t.label,"track-by":t.trackBy,"tag-placeholder":"create"},on:{close:function(e){t.ariaExpanded=!1},open:function(e){t.ariaExpanded=!0}},scopedSlots:t._u([{key:"option",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e("NcListItemIcon",t._b({attrs:{title:n.option[t.label],search:n.search}},"NcListItemIcon",n.option,!1)):t.$scopedSlots.option?t._t("option",null,null,n):e("NcEllipsisedOption",{attrs:{name:t.getOptionLabel(n.option),search:n.search}})]}},t.multiple?{key:"limit",fn:function(){return[e("span",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.formatLimitTitle(t.value),expression:"formatLimitTitle(value)",modifiers:{auto:!0}}],staticClass:"multiselect__limit"},[t._v("\n\t\t\t"+t._s(t.limitString)+"\n\t\t")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:"noResult",fn:function(){return[t._t("noResult",(function(){return[e("span",[t._v(t._s(t.t("No results")))])]}))]},proxy:!0},{key:"loading",fn:function(){return[t.loading?e("NcLoadingIcon"):t._e()]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:"localValue"}},"VueMultiselect",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);"function"==typeof j()&&j()(z);const P=z.exports;(0,i(7645).Z)(P);const E=P},2297:(t,e,n)=>{"use strict";n.d(e,{default:()=>S});var i=n(9454),a=n(4505),o=n(1206);const r={name:"NcPopover",components:{Dropdown:i.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["after-show","after-hide"],beforeDestroy(){this.clearFocusTrap()},methods:{async useFocusTrap(){var t,e;if(await this.$nextTick(),!this.focusTrap)return;const n=null===(t=this.$refs.popover)||void 0===t||null===(e=t.$refs.popperContent)||void 0===e?void 0:e.$el;n&&(this.$focusTrap=(0,a.createFocusTrap)(n,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:this.setReturnFocus,trapStack:(0,o.L)()}),this.$focusTrap.activate())},clearFocusTrap(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var e;null===(e=this.$focusTrap)||void 0===e||e.deactivate(t),this.$focusTrap=null}catch(t){console.warn(t)}},afterShow(){this.$nextTick((()=>{this.$emit("after-show"),this.useFocusTrap()}))},afterHide(){this.$emit("after-hide"),this.clearFocusTrap()}}},s=r;var l=n(3379),c=n.n(l),d=n(7795),A=n.n(d),u=n(569),p=n.n(u),m=n(3565),h=n.n(m),g=n(9216),C=n.n(g),v=n(4589),b=n.n(v),f=n(1625),y={};y.styleTagTransform=b(),y.setAttributes=h(),y.insert=p().bind(null,"head"),y.domAPI=A(),y.insertStyleElement=C(),c()(f.Z,y),f.Z&&f.Z.locals&&f.Z.locals;var x=n(1900),k=n(2405),w=n.n(k),_=(0,x.Z)(s,(function(){var t=this;return(0,t._self._c)("Dropdown",t._g(t._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":t.popoverBaseClass},on:{"apply-show":t.afterShow,"apply-hide":t.afterHide},scopedSlots:t._u([{key:"popper",fn:function(){return[t._t("default")]},proxy:!0}],null,!0)},"Dropdown",t.$attrs,!1),t.$listeners),[t._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof w()&&w()(_);const S=_.exports},306:(t,e,n)=>{"use strict";n.d(e,{default:()=>B});const i={name:"NcPopoverMenuItem",props:{item:{type:Object,required:!0,default:()=>({key:"nextcloud-link",href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}),validator:t=>!t.input||-1!==["text","checkbox"].indexOf(t.input)}},computed:{key(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action(t){this.item.action&&this.item.action(t)}}};var a=n(3379),o=n.n(a),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),d=n(3565),A=n.n(d),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),g=n(8369),C={};C.styleTagTransform=h(),C.setAttributes=A(),C.insert=c().bind(null,"head"),C.domAPI=s(),C.insertStyleElement=p(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals;var v=n(408),b={};b.styleTagTransform=h(),b.setAttributes=A(),b.insert=c().bind(null,"head"),b.domAPI=s(),b.insertStyleElement=p(),o()(v.Z,b),v.Z&&v.Z.locals&&v.Z.locals;var f=n(1900);const y={name:"NcPopoverMenu",components:{NcPopoverMenuItem:(0,f.Z)(i,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"popover__menuitem"},[t.item.href?e("a",{staticClass:"focusable",attrs:{href:t.item.href?t.item.href:"#",target:t.item.target?t.item.target:"",download:t.item.download,rel:"nofollow noreferrer noopener"},on:{click:t.action}},[t.iconIsUrl?e("img",{attrs:{src:t.item.icon}}):e("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),e("br"),t._v(" "),e("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?e("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?e("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()]):t.item.input?e("span",{staticClass:"menuitem",class:{active:t.item.active}},["checkbox"!==t.item.input?e("span",{class:t.item.icon}):t._e(),t._v(" "),"text"===t.item.input?e("form",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action.apply(null,arguments)}}},[e("input",{attrs:{type:t.item.input,placeholder:t.item.text,required:""},domProps:{value:t.item.value}}),t._v(" "),e("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):["checkbox"===t.item.input?e("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:t.key,type:"checkbox"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,a=!!i.checked;if(Array.isArray(n)){var o=t._i(n,null);i.checked?o<0&&t.$set(t.item,"model",n.concat([null])):o>-1&&t.$set(t.item,"model",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,"model",a)},t.item.action]}}):"radio"===t.item.input?e("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:t.key,type:"radio"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,"model",null)},t.item.action]}}):e("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,"model",e.target.value)}}}),t._v(" "),e("label",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")])]],2):t.item.action?e("button",{staticClass:"menuitem focusable",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:"button"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[e("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),e("br"),t._v(" "),e("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?e("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?e("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()]):e("span",{staticClass:"menuitem",class:{active:t.item.active}},[e("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),e("br"),t._v(" "),e("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?e("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?e("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()])])}),[],!1,null,"127b0c62",null).exports},props:{menu:{type:Array,default:()=>[{href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}],required:!0}}};var x=n(2),k={};k.styleTagTransform=h(),k.setAttributes=A(),k.insert=c().bind(null,"head"),k.domAPI=s(),k.insertStyleElement=p(),o()(x.Z,k),x.Z&&x.Z.locals&&x.Z.locals;var w=n(1174),_=n.n(w),S=(0,f.Z)(y,(function(){var t=this,e=t._self._c;return e("ul",{staticClass:"popover__menu"},t._l(t.menu,(function(t,n){return e("NcPopoverMenuItem",{key:n,attrs:{item:t}})})),1)}),[],!1,null,"31ffd2d4",null);"function"==typeof _()&&_()(S);const B=S.exports},5082:(t,e,i)=>{"use strict";i.d(e,{getLinkWithPicker:()=>le,searchProvider:()=>dt}),window._vue_richtext_widgets||(window._vue_richtext_widgets={}),window._registerWidget=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t=>{};window._vue_richtext_widgets[t]?console.error("Widget for id "+t+" already registered"):window._vue_richtext_widgets[t]={id:t,callback:e,onDestroy:n}};const a={name:"NcReferenceWidget",props:{reference:{type:Object,required:!0}},data:()=>({compact:3}),computed:{hasCustomWidget(){return t=this.reference.richObjectType,!!window._vue_richtext_widgets[t];var t},noAccess(){return this.reference&&!this.reference.accessible},descriptionStyle(){if(0===this.compact)return{display:"none"};const t=this.compact<4?this.compact:3;return{lineClamp:t,webkitLineClamp:t}},compactLink(){const t=this.reference.openGraphObject.link;return t?t.startsWith("https://")?t.substring(8):t.startsWith("http://")?t.substring(7):t:""}},mounted(){this.renderWidget(),this.observer=new ResizeObserver((t=>{t[0].contentRect.width<450?this.compact=0:t[0].contentRect.width<550?this.compact=1:t[0].contentRect.width<650?this.compact=2:this.compact=3})),this.observer.observe(this.$el)},beforeDestroy(){var t,e;this.observer.disconnect(),t=this.reference.richObjectType,e=this.$el,"open-graph"!==t&&window._vue_richtext_widgets[t]&&window._vue_richtext_widgets[t].onDestroy(e)},methods:{renderWidget(){var t;this.$refs.customWidget&&(this.$refs.customWidget.innerHTML=""),"open-graph"!==(null==this||null===(t=this.reference)||void 0===t?void 0:t.richObjectType)&&this.$nextTick((()=>{((t,e)=>{let{richObjectType:n,richObject:i,accessible:a}=e;"open-graph"!==n&&(window._vue_richtext_widgets[n]?window._vue_richtext_widgets[n].callback(t,{richObjectType:n,richObject:i,accessible:a}):console.error("Widget for rich object type "+n+" not registered"))})(this.$refs.customWidget,this.reference)}))}}};var o=i(3379),r=i.n(o),s=i(7795),l=i.n(s),c=i(569),d=i.n(c),A=i(3565),u=i.n(A),p=i(9216),m=i.n(p),h=i(4589),g=i.n(h),C=i(1880),v={};v.styleTagTransform=g(),v.setAttributes=u(),v.insert=d().bind(null,"head"),v.domAPI=l(),v.insertStyleElement=m(),r()(C.Z,v),C.Z&&C.Z.locals&&C.Z.locals;var b=i(1900);const f=(0,b.Z)(a,(function(){var t=this,e=t._self._c;return e("div",[t.reference&&t.hasCustomWidget?e("div",{staticClass:"widget-custom"},[e("div",{ref:"customWidget"})]):!t.noAccess&&t.reference&&t.reference.openGraphObject&&!t.hasCustomWidget?e("a",{staticClass:"widget-default",attrs:{href:t.reference.openGraphObject.link,rel:"noopener noreferrer",target:"_blank"}},[t.reference.openGraphObject.thumb?e("img",{staticClass:"widget-default--image",attrs:{src:t.reference.openGraphObject.thumb}}):t._e(),t._v(" "),e("div",{staticClass:"widget-default--details"},[e("p",{staticClass:"widget-default--title"},[t._v(t._s(t.reference.openGraphObject.name))]),t._v(" "),e("p",{staticClass:"widget-default--description",style:t.descriptionStyle},[t._v(t._s(t.reference.openGraphObject.description))]),t._v(" "),e("p",{staticClass:"widget-default--link"},[t._v(t._s(t.compactLink))])])]):t._e()])}),[],!1,null,"4be6aca8",null).exports,y=/(\s|^)(https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z]+(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/gi,x=/(\s|\(|^)((https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/gi;var k=i(768),w=i.n(k),_=i(4262);const S={name:"NcReferenceList",components:{NcReferenceWidget:f},props:{text:{type:String,default:""},referenceData:{type:Object,default:null},limit:{type:Number,default:1}},data:()=>({references:null,loading:!0}),computed:{isVisible(){return this.loading||this.displayedReferences},values(){return this.referenceData?this.referenceData:this.references?Object.values(this.references):[]},firstReference(){var t;return null!==(t=this.values[0])&&void 0!==t?t:null},displayedReferences(){return this.values.slice(0,this.limit)}},watch:{text:"fetch"},mounted(){this.fetch()},methods:{fetch(){this.loading=!0,this.referenceData?this.loading=!1:new RegExp(y).exec(this.text)?this.resolve().then((t=>{this.references=t.data.ocs.data.references,this.loading=!1})).catch((t=>{console.error("Failed to extract references",t),this.loading=!1})):this.loading=!1},resolve(){const t=new RegExp(y).exec(this.text.trim());return 1===this.limit&&t?w().get((0,_.generateOcsUrl)("references/resolve",2)+"?reference=".concat(encodeURIComponent(t[0]))):w().post((0,_.generateOcsUrl)("references/extract",2),{text:this.text,resolve:!0,limit:this.limit})}}};var B=i(122),N={};N.styleTagTransform=g(),N.setAttributes=u(),N.insert=d().bind(null,"head"),N.domAPI=l(),N.insertStyleElement=m(),r()(B.Z,N),B.Z&&B.Z.locals&&B.Z.locals;const j=(0,b.Z)(S,(function(){var t=this,e=t._self._c;return t.isVisible?e("div",{staticClass:"widgets--list",class:{"icon-loading":t.loading}},t._l(t.displayedReferences,(function(t){var n;return e("div",{key:null==t||null===(n=t.openGraphObject)||void 0===n?void 0:n.id},[e("NcReferenceWidget",{attrs:{reference:t}})],1)})),0):t._e()}),[],!1,null,"36a4d5cc",null).exports,z=n(6393),P=n(39743),E={name:"NcLink",props:{href:{type:String,required:!0}},render(t){return t("a",{attrs:{href:this.href,rel:"noopener noreferrer",target:"_blank",class:"rich-text--external-link"}},[this.href.trim()])}},D=function(t){let{autolink:e,useMarkdown:n}=t;return function(t){n&&e&&(0,z.visit)(t,(t=>"text"===t.type),((t,e,n)=>{let i=T(t.value);return i=i.map((t=>"string"==typeof t?(0,P.u)("text",t):(0,P.u)("link",{url:t.props.href},[(0,P.u)("text",t.props.href)]))).filter((t=>t)),n.children.splice(e,1,...i.flat()),[z.SKIP,e+i.flat().length]}))}},T=t=>{let e=x.exec(t);const n=[];let i=0;for(;null!==e;){let a,o=e[2],r=t.substring(i,e.index+e[1].length);" "===o[0]&&(r+=o[0],o=o.substring(1).trim());const s=o[o.length-1];("."===s||","===s||";"===s||"("===e[0][0]&&")"===s)&&(o=o.substring(0,o.length-1),a=s),n.push(r),n.push({component:E,props:{href:o}}),a&&n.push(a),i=e.index+e[0].length,e=x.exec(t)}return n.push(t.substring(i)),t===n.map((t=>"string"==typeof t?t:t.props.href)).join("")?n:(console.error("Failed to reassemble the chunked text: "+t),t)},I=function(){return function(t){(0,z.visit)(t,(t=>"text"===t.type),(function(t,e,n){const i=t.value.split(/(\{[a-z\-_.0-9]+\})/gi).map(((t,e,n)=>{const i=t.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!i)return(0,P.u)("text",t);const[,a]=i;return(0,P.u)("element",{tagName:"#".concat(a)})}));n.children.splice(e,1,...i)}))}},$=n(8519),O=n(95437);var G=i.n(O);const M=n(51356);var U=i.n(M);const F=n(24329);var L=i.n(F);const R=n(87891);var Z=i.n(R);const W=n(79441);var q=i.n(W);const V={name:"NcRichText",components:{NcReferenceList:j},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},references:{type:Object,default:null},markdownCssClasses:{type:Object,default:()=>({a:"rich-text--external-link",ol:"rich-text--ordered-list",ul:"rich-text--un-ordered-list",li:"rich-text--list-item",strong:"rich-text--strong",em:"rich-text--italic",h1:"rich-text--heading rich-text--heading-1",h2:"rich-text--heading rich-text--heading-2",h3:"rich-text--heading rich-text--heading-3",h4:"rich-text--heading rich-text--heading-4",h5:"rich-text--heading rich-text--heading-5",h6:"rich-text--heading rich-text--heading-6",hr:"rich-text--hr",table:"rich-text--table",pre:"rich-text--pre",code:"rich-text--code",blockquote:"rich-text--blockquote"})},useMarkdown:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},methods:{renderPlaintext(t){const e=this,n=this.text.split(/(\{[a-z\-_.0-9]+\})/gi).map((function(n,i,a){const o=n.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!o)return((t,e)=>{let{h:n,context:i}=t;return i.autolink&&(e=T(e)),Array.isArray(e)?e.map((t=>{if("string"==typeof t)return t;const{component:e,props:i}=t,a="NcLink"===e.name?void 0:"rich-text--component";return n(e,{props:i,class:a})})):e})({h:t,context:e},n);const r=o[1],s=e.arguments[r];if("object"==typeof s){const{component:e,props:n}=s;return t(e,{props:n,class:"rich-text--component"})}return s?t("span",{class:"rich-text--fallback"},s):n}));return t("div",{class:"rich-text--wrapper"},[t("div",{},n.flat()),this.referenceLimit>0?t("div",{class:"rich-text--reference-widget"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])},renderMarkdown(t){const e=(0,$.unified)().use(G()).use(D,{autolink:this.autolink,useMarkdown:this.useMarkdown}).use(U()).use(L(),{handlers:{component:(t,e)=>t(e,e.component,{value:e.value})}}).use(I).use(q(),{target:"_blank",rel:["noopener noreferrer"]}).use(Z(),{createElement:(e,n,i)=>{var a;if(i=null===(a=i)||void 0===a?void 0:a.map((t=>"string"==typeof t?t.replace(/</gim,"<"):t)),!e.startsWith("#"))return t(e,n,i);const o=this.arguments[e.slice(1)];return o?o.component?t(o.component,{attrs:n,props:o.props,class:"rich-text--component"},i):t("span",n,[o]):t("span",{attrs:n,class:"rich-text--fallback"},["{".concat(e.slice(1),"}")])},prefix:!1}).processSync(this.text.replace(/")).result;return t("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[e,this.referenceLimit>0?t("div",{class:"rich-text--reference-widget"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])}},render(t){return this.useMarkdown?this.renderMarkdown(t):this.renderPlaintext(t)}},Y=V;var H=i(535),K={};K.styleTagTransform=g(),K.setAttributes=u(),K.insert=d().bind(null,"head"),K.domAPI=l(),K.insertStyleElement=m(),r()(H.Z,K),H.Z&&H.Z.locals&&H.Z.locals;var Q=i(3407),J=i.n(Q),X=(0,b.Z)(Y,void 0,void 0,!1,null,"1c15f071",null);"function"==typeof J()&&J()(X),X.exports,window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});const tt=t=>!!window._vue_richtext_custom_picker_elements[t];window._registerCustomPickerElement=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t=>{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"large";window._vue_richtext_custom_picker_elements[t]?console.error("Custom reference picker element for id "+t+" already registered"):window._vue_richtext_custom_picker_elements[t]={id:t,callback:e,onDestroy:n,size:i}};const et={name:"NcCustomPickerElement",props:{provider:{type:Object,required:!0}},emits:["cancel","submit"],data(){return{isRegistered:tt(this.provider.id),renderResult:null}},mounted(){this.isRegistered&&this.renderElement()},beforeDestroy(){var t,e,n;this.isRegistered&&(t=this.provider.id,e=this.$el,n=this.renderResult,window._vue_richtext_custom_picker_elements[t]&&window._vue_richtext_custom_picker_elements[t].onDestroy(e,n))},methods:{renderElement(){this.$refs.domElement&&(this.$refs.domElement.innerHTML="");const t=((t,e)=>{let{providerId:n,accessible:i}=e;if(window._vue_richtext_custom_picker_elements[n])return window._vue_richtext_custom_picker_elements[n].callback(t,{providerId:n,accessible:i});console.error("Custom reference picker element for reference provider ID "+n+" not registered")})(this.$refs.domElement,{providerId:this.provider.id,accessible:!1});Promise.resolve(t).then((t=>{var e,n;this.renderResult=t,null!==(e=this.renderResult.object)&&void 0!==e&&e._isVue&&null!==(n=this.renderResult.object)&&void 0!==n&&n.$on&&(this.renderResult.object.$on("submit",this.onSubmit),this.renderResult.object.$on("cancel",this.onCancel)),this.renderResult.element.addEventListener("submit",(t=>{this.onSubmit(t.detail)})),this.renderResult.element.addEventListener("cancel",this.onCancel)}))},onSubmit(t){this.$emit("submit",t)},onCancel(){this.$emit("cancel")}}};var nt=i(9425),it={};it.styleTagTransform=g(),it.setAttributes=u(),it.insert=d().bind(null,"head"),it.domAPI=l(),it.insertStyleElement=m(),r()(nt.Z,it),nt.Z&&nt.Z.locals&&nt.Z.locals;const at=(0,b.Z)(et,(function(){return(0,this._self._c)("div",{ref:"domElement"})}),[],!1,null,"60e96d80",null).exports;var ot=i(932),rt=i(733);const st="any-link",lt={id:st,title:(0,ot.t)("Any link"),icon_url:(0,_.imagePath)("core","filetypes/link.svg")};function ct(){return window._vue_richtext_reference_providers.filter((t=>{const e=!!t.search_providers_ids&&t.search_providers_ids.length>0||tt(t.id);return e||console.debug("[smart picker]",t.id,"reference provider is discoverable but does not have any related search provider or custom picker component registered"),e}))}function dt(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=ct(),i=t.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),a=new RegExp(i,"i"),o=function(t){const e=window._vue_richtext_reference_provider_timestamps;return t.sort(((t,e)=>t.order===e.order?0:t.order>e.order?1:-1)).sort(((t,n)=>{const i=e[t.id],a=e[n.id];return i===a?0:void 0===a?-1:void 0===i?1:i>a?-1:1}))}(n),r=o.filter((t=>t.title.match(a))),s=e?r.slice(0,e):r;return""!==t&&0!==s.length||s.push(lt),s}window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=(0,rt.loadState)("core","reference-provider-list",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=(0,rt.loadState)("core","reference-provider-timestamps",{}));let At=0;function ut(t,e){return function(){const n=this,i=arguments;clearTimeout(At),At=setTimeout((function(){t.apply(n,i)}),e||0)}}function pt(t){try{return Boolean(new URL(t))}catch(t){return!1}}var mt=i(3148),ht=i(281),gt=i(2917);const Ct=n(25751);var vt=i.n(Ct);const bt={name:"NcProviderList",components:{NcMultiselect:gt.default,NcHighlight:ht.default,NcEmptyContent:mt.default,LinkVariantIcon:vt()},emits:["select-provider","submit"],data:()=>({selectedProvider:null,query:"",multiselectPlaceholder:(0,ot.t)("Select provider")}),computed:{options(){const t=[];return""!==this.query&&pt(this.query)&&t.push({id:this.query,title:this.query,isLink:!0}),t.push(...dt(this.query)),t}},methods:{focus(){this.$nextTick((()=>{var t,e;null===(t=this.$refs["provider-select"])||void 0===t||null===(e=t.$el)||void 0===e||e.focus()}))},onProviderSelected(t){null!==t&&(t.isLink?this.$emit("submit",t.title):this.$emit("select-provider",t),this.selectedProvider=null)}}};var ft=i(8883),yt={};yt.styleTagTransform=g(),yt.setAttributes=u(),yt.insert=d().bind(null,"head"),yt.domAPI=l(),yt.insertStyleElement=m(),r()(ft.Z,yt),ft.Z&&ft.Z.locals&&ft.Z.locals;const xt=(0,b.Z)(bt,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"provider-list"},[e("NcMultiselect",{ref:"provider-select",staticClass:"provider-list--select",attrs:{"track-by":"id",label:"title",placeholder:t.multiselectPlaceholder,options:t.options,"internal-search":!1,"clear-on-select":!0,"preserve-search":!0,"option-height":44},on:{"search-change":function(e){t.query=e},input:t.onProviderSelected},scopedSlots:t._u([{key:"option",fn:function(n){let{option:i}=n;return[i.isLink?e("div",{staticClass:"provider"},[e("LinkVariantIcon",{staticClass:"link-icon",attrs:{size:20}}),t._v(" "),e("span",[t._v(t._s(i.title))])],1):e("div",{staticClass:"provider"},[e("img",{staticClass:"provider-icon",attrs:{src:i.icon_url}}),t._v(" "),e("NcHighlight",{staticClass:"option-text",attrs:{search:t.query,text:i.title}})],1)]}}]),model:{value:t.selectedProvider,callback:function(e){t.selectedProvider=e},expression:"selectedProvider"}}),t._v(" "),e("NcEmptyContent",{staticClass:"provider-list--empty-content",scopedSlots:t._u([{key:"icon",fn:function(){return[e("LinkVariantIcon")]},proxy:!0}])})],1)}),[],!1,null,"50f3a10c",null).exports;var kt=i(5378),wt=i(6442);const _t={name:"NcRawLinkInput",components:{LinkVariantIcon:vt(),NcEmptyContent:mt.default,NcLoadingIcon:kt.default,NcReferenceWidget:f,NcTextField:wt.default},props:{provider:{type:Object,required:!0}},emits:["submit"],data:()=>({inputValue:"",loading:!1,reference:null,abortController:null,inputPlaceholder:(0,ot.t)("Enter link")}),computed:{isLinkValid(){return pt(this.inputValue)}},methods:{focus(){var t;null===(t=this.$refs["url-input"].$el.getElementsByTagName("input")[0])||void 0===t||t.focus()},onSubmit(t){const e=t.target.value;this.isLinkValid&&this.$emit("submit",e)},onClear(){this.inputValue="",this.reference=null},onInput(){this.reference=null,this.abortController&&this.abortController.abort(),this.isLinkValid&&ut((()=>{this.updateReference()}),500)()},updateReference(){this.loading=!0,this.abortController=new AbortController,w().get((0,_.generateOcsUrl)("references/resolve",2)+"?reference="+encodeURIComponent(this.inputValue),{signal:this.abortController.signal}).then((t=>{this.reference=t.data.ocs.data.references[this.inputValue]})).catch((t=>{console.error(t)})).then((()=>{this.loading=!1}))}}};var St=i(6068),Bt={};Bt.styleTagTransform=g(),Bt.setAttributes=u(),Bt.insert=d().bind(null,"head"),Bt.domAPI=l(),Bt.insertStyleElement=m(),r()(St.Z,Bt),St.Z&&St.Z.locals&&St.Z.locals;const Nt=(0,b.Z)(_t,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"raw-link"},[e("div",{staticClass:"input-wrapper"},[e("NcTextField",{ref:"url-input",attrs:{value:t.inputValue,"show-trailing-button":""!==t.inputValue,label:t.inputPlaceholder},on:{"update:value":[function(e){t.inputValue=e},t.onInput],"trailing-button-click":t.onClear},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.onSubmit.apply(null,arguments)}}},[t.loading?e("NcLoadingIcon",{attrs:{size:16}}):e("LinkVariantIcon",{attrs:{size:16}})],1)],1),t._v(" "),null!==t.reference?e("NcReferenceWidget",{staticClass:"reference-widget",attrs:{reference:t.reference}}):e("NcEmptyContent",{staticClass:"raw-link--empty-content",scopedSlots:t._u([{key:"icon",fn:function(){return[t.provider.icon_url?e("img",{staticClass:"provider-icon",attrs:{src:t.provider.icon_url}}):e("LinkVariantIcon")]},proxy:!0}])})],1)}),[],!1,null,"2e61b91c",null).exports,jt={name:"NcSearchResult",components:{NcHighlight:ht.default},props:{entry:{type:Object,required:!0},query:{type:String,required:!0}}};var zt=i(9052),Pt={};Pt.styleTagTransform=g(),Pt.setAttributes=u(),Pt.insert=d().bind(null,"head"),Pt.domAPI=l(),Pt.insertStyleElement=m(),r()(zt.Z,Pt),zt.Z&&zt.Z.locals&&zt.Z.locals;const Et=(0,b.Z)(jt,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"result"},[t.entry.icon?e("div",{staticClass:"result--icon-class",class:{[t.entry.icon]:!0,rounded:t.entry.rounded}}):e("img",{staticClass:"result--image",class:{rounded:t.entry.rounded},attrs:{src:t.entry.thumbnailUrl}}),t._v(" "),e("div",{staticClass:"result--content"},[e("span",{staticClass:"result--content--title"},[e("NcHighlight",{attrs:{search:t.query,text:t.entry.title}})],1),t._v(" "),e("span",{staticClass:"result--content--subline"},[e("NcHighlight",{attrs:{search:t.query,text:t.entry.subline}})],1)])])}),[],!1,null,"7297c50a",null).exports;var Dt=i(1441),Tt=i.n(Dt);const It=n(93234);var $t=i.n(It);const Ot={name:"NcSearch",components:{LinkVariantIcon:vt(),DotsHorizontalIcon:Tt(),MagnifyIcon:$t(),NcEmptyContent:mt.default,NcMultiselect:gt.default,NcSearchResult:Et},props:{provider:{type:Object,required:!0},showEmptyContent:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:null}},emits:["submit"],data:()=>({searchQuery:"",selectedResult:null,resultsBySearchProvider:{},searching:!1,searchingMoreOf:null,abortController:null}),computed:{mySearchPlaceholder(){return this.searchPlaceholder||(0,ot.t)("Search")},searchProviderIds(){return this.provider.search_providers_ids},options(){if(""===this.searchQuery)return[];const t=[];return pt(this.searchQuery)&&t.push(this.rawLinkEntry),t.push(...this.formattedSearchResults),t},rawLinkEntry(){return{resourceUrl:this.searchQuery,isRawLink:!0}},formattedSearchResults(){const t=[];return this.searchProviderIds.forEach((e=>{this.resultsBySearchProvider[e].entries.length>0&&((this.searchProviderIds.length>1||this.resultsBySearchProvider[e].entries.length>1)&&t.push({name:this.resultsBySearchProvider[e].name,isCustomGroupTitle:!0,providerId:e}),t.push(...this.resultsBySearchProvider[e].entries),this.resultsBySearchProvider[e].isPaginated&&t.push({name:this.resultsBySearchProvider[e].name,isMore:!0,providerId:e,isLoading:this.searchingMoreOf===e}))})),t}},mounted(){this.resetResults()},beforeDestroy(){this.cancelSearchRequests()},methods:{t:ot.t,resetResults(){const t={};this.searchProviderIds.forEach((e=>{t[e]={entries:[]}})),this.resultsBySearchProvider=t},focus(){var t,e;null===(t=this.$refs["search-select"])||void 0===t||null===(e=t.$el)||void 0===e||e.focus()},cancelSearchRequests(){this.abortController&&this.abortController.abort()},onSearchInput(t){this.searchQuery=t,ut((()=>{this.updateSearch()}),500)()},onSelectResultSelected(t){null!==t&&(t.resourceUrl?(this.cancelSearchRequests(),this.$emit("submit",t.resourceUrl)):t.isMore&&this.searchMoreOf(t.providerId)),this.selectedResult=null},searchMoreOf(t){this.searchingMoreOf=t,this.cancelSearchRequests(),this.searchProviders(t)},updateSearch(){this.cancelSearchRequests(),this.resetResults(),""!==this.searchQuery?this.searchProviders():this.searching=!1},searchProviders(){var t,e;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.abortController=new AbortController,this.searching=!0;const i=null===n?[...this.searchProviderIds].map((t=>this.searchOneProvider(t))):[this.searchOneProvider(n,null!==(t=null===(e=this.resultsBySearchProvider[n])||void 0===e?void 0:e.cursor)&&void 0!==t?t:null)];return Promise.allSettled(i).then((t=>{t.find((t=>"rejected"===t.status&&("CanceledError"===t.reason.name||"ERR_CANCELED"===t.reason.code)))||(this.searching=!1,this.searchingMoreOf=null)}))},searchOneProvider(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=null===e?(0,_.generateOcsUrl)("search/providers/{providerId}/search?term={term}&limit={limit}",{providerId:t,term:this.searchQuery,limit:5}):(0,_.generateOcsUrl)("search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}",{providerId:t,term:this.searchQuery,limit:5,cursor:e});return w().get(n,{signal:this.abortController.signal}).then((e=>{const n=e.data.ocs.data;this.resultsBySearchProvider[t].name=n.name,this.resultsBySearchProvider[t].cursor=n.cursor,this.resultsBySearchProvider[t].isPaginated=n.isPaginated,this.resultsBySearchProvider[t].entries.push(...n.entries)}))}}},Gt=Ot;var Mt=i(2873),Ut={};Ut.styleTagTransform=g(),Ut.setAttributes=u(),Ut.insert=d().bind(null,"head"),Ut.domAPI=l(),Ut.insertStyleElement=m(),r()(Mt.Z,Ut),Mt.Z&&Mt.Z.locals&&Mt.Z.locals;const Ft=(0,b.Z)(Gt,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"smart-picker-search",class:{"with-empty-content":t.showEmptyContent}},[e("NcMultiselect",{ref:"search-select",staticClass:"smart-picker-search--select",attrs:{"track-by":"resourceUrl",placeholder:t.mySearchPlaceholder,options:t.options,"internal-search":!1,"clear-on-select":!1,"close-on-select":!1,"preserve-search":!0,loading:t.searching,multiple:!1,"option-height":60},on:{"search-change":t.onSearchInput,input:t.onSelectResultSelected},scopedSlots:t._u([{key:"option",fn:function(n){let{option:i}=n;return[i.isRawLink?e("div",{staticClass:"custom-option"},[e("LinkVariantIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t._v(" "),e("span",{staticClass:"option-text"},[t._v("\n\t\t\t\t\t"+t._s(t.t("Raw link {options}",{options:i.resourceUrl}))+"\n\t\t\t\t")])],1):i.resourceUrl?e("NcSearchResult",{staticClass:"search-result",attrs:{entry:i,query:t.searchQuery}}):i.isCustomGroupTitle?e("span",{staticClass:"custom-option group-title"},[t.provider.icon_url?e("img",{staticClass:"provider-icon group-title-icon",attrs:{src:t.provider.icon_url}}):t._e(),t._v(" "),e("span",{staticClass:"option-text"},[e("strong",[t._v(t._s(i.name))])])]):i.isMore?e("span",{class:{"custom-option":!0}},[i.isLoading?e("span",{staticClass:"option-simple-icon icon-loading-small"}):e("DotsHorizontalIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t._v(" "),e("span",{staticClass:"option-text"},[t._v("\n\t\t\t\t\t"+t._s(t.t('Load more "{options}""',{options:i.name}))+"\n\t\t\t\t")])],1):t._e()]}},{key:"noOptions",fn:function(){return[e("MagnifyIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t._v("\n\t\t\t"+t._s(t.t("Start typing to search"))+"\n\t\t")]},proxy:!0},{key:"noResult",fn:function(){return[e("MagnifyIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t._v("\n\t\t\t"+t._s(t.t("Start typing to search"))+"\n\t\t")]},proxy:!0}]),model:{value:t.selectedResult,callback:function(e){t.selectedResult=e},expression:"selectedResult"}}),t._v(" "),t.showEmptyContent?e("NcEmptyContent",{staticClass:"smart-picker-search--empty-content",scopedSlots:t._u([{key:"icon",fn:function(){return[t.provider.icon_url?e("img",{staticClass:"provider-icon",attrs:{src:t.provider.icon_url}}):e("LinkVariantIcon")]},proxy:!0}],null,!1,4245470124)}):t._e()],1)}),[],!1,null,"26e3248c",null).exports,Lt={providerList:1,standardLinkInput:2,searchInput:3,customElement:4},Rt={name:"NcReferencePicker",components:{NcCustomPickerElement:at,NcProviderList:xt,NcRawLinkInput:Nt,NcSearch:Ft},props:{initialProvider:{type:Object,default:()=>null},width:{type:Number,default:null},focusOnCreate:{type:Boolean,default:!0}},emits:["cancel","cancel-raw-link","cancel-search","provider-selected","submit"],data(){return{MODES:Lt,selectedProvider:this.initialProvider}},computed:{mode(){return null===this.selectedProvider?Lt.providerList:tt(this.selectedProvider.id)?Lt.customElement:this.selectedProvider.search_providers_ids?Lt.searchInput:Lt.standardLinkInput},pickerWrapperStyle(){return{width:this.width?this.width+"px":void 0}}},mounted(){this.focusOnCreate&&(this.initialProvider?setTimeout((()=>{var t;null===(t=this.$refs["url-input"])||void 0===t||t.focus()}),300):this.$nextTick((()=>{var t;null===(t=this.$refs["provider-list"])||void 0===t||t.focus()})))},methods:{onEscapePressed(){null!==this.selectedProvider?this.deselectProvider():this.cancelProviderSelection()},onProviderSelected(t){this.selectedProvider=t,this.$emit("provider-selected",t),this.$nextTick((()=>{var t;null===(t=this.$refs["url-input"])||void 0===t||t.focus()}))},cancelCustomElement(){this.deselectProvider()},cancelSearch(){var t;this.$emit("cancel-search",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelRawLinkInput(){var t;this.$emit("cancel-raw-link",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelProviderSelection(){this.$emit("cancel")},submitLink(t){null!==this.selectedProvider&&function(t){const e=Math.floor(Date.now()/1e3),n={timestamp:e},i=(0,_.generateOcsUrl)("references/provider/{providerId}",{providerId:t});w().put(i,n).then((n=>{window._vue_richtext_reference_provider_timestamps[t]=e}))}(this.selectedProvider.id),this.$emit("submit",t),this.deselectProvider()},deselectProvider(){this.selectedProvider=null,this.$emit("provider-selected",null),setTimeout((()=>{var t;null===(t=this.$refs["provider-list"])||void 0===t||t.focus()}),300)}}};var Zt=i(34),Wt={};Wt.styleTagTransform=g(),Wt.setAttributes=u(),Wt.insert=d().bind(null,"head"),Wt.domAPI=l(),Wt.insertStyleElement=m(),r()(Zt.Z,Wt),Zt.Z&&Zt.Z.locals&&Zt.Z.locals;const qt=(0,b.Z)(Rt,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"reference-picker",style:t.pickerWrapperStyle,attrs:{tabindex:"-1"},on:{keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:(e.stopPropagation(),e.preventDefault(),t.onEscapePressed.apply(null,arguments))}}},[t.mode===t.MODES.providerList?e("NcProviderList",{ref:"provider-list",on:{"select-provider":t.onProviderSelected,submit:t.submitLink,cancel:t.cancelProviderSelection}}):t.mode===t.MODES.standardLinkInput?e("NcRawLinkInput",{ref:"url-input",attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelRawLinkInput}}):t.mode===t.MODES.searchInput?e("NcSearch",{ref:"url-input",attrs:{provider:t.selectedProvider},on:{cancel:t.cancelSearch,submit:t.submitLink}}):t.mode===t.MODES.customElement?e("div",{staticClass:"custom-element-wrapper"},[e("NcCustomPickerElement",{attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelCustomElement}})],1):t._e()],1)}),[],!1,null,"9b2f661a",null).exports;var Vt=i(1560),Yt=i(5202),Ht=i(542),Kt=i(6921),Qt=i.n(Kt),Jt=i(8618),Xt=i.n(Jt);const te={name:"NcReferencePickerModal",components:{NcReferencePicker:qt,NcModal:Yt.default,NcButton:Vt.default,ArrowLeftIcon:Qt(),CloseIcon:Xt()},props:{initialProvider:{type:Object,default:()=>null},focusOnCreate:{type:Boolean,default:!0},isInsideViewer:{type:Boolean,default:!1}},emits:["cancel","submit"],data(){return{show:!0,selectedProvider:this.initialProvider,backButtonTitle:(0,ot.t)("Back to provider selection"),closeButtonTitle:(0,ot.t)("Close"),closeButtonLabel:(0,ot.t)("Close Smart Picker")}},computed:{isProviderSelected(){return null!==this.selectedProvider},showBackButton(){return null===this.initialProvider&&this.isProviderSelected},modalSize(){var t;return this.isProviderSelected&&tt(this.selectedProvider.id)?null!==(t=(t=>{var e;const n=null===(e=window._vue_richtext_custom_picker_elements[t])||void 0===e?void 0:e.size;return["small","normal","large","full"].includes(n)?n:null})(this.selectedProvider.id))&&void 0!==t?t:"large":"normal"},showModalTitle(){return!this.isProviderSelected||!tt(this.selectedProvider.id)},modalTitle(){return this.isProviderSelected?this.selectedProvider.title:(0,ot.t)("Smart Picker")}},mounted(){if(this.isInsideViewer){const t=this.$refs.modal_content;(0,Ht.emit)("viewer:trapElements:changed",t)}},methods:{onCancel(){this.show=!1,this.$emit("cancel")},onSubmit(t){this.show=!1,this.$emit("submit",t)},onProviderSelect(t){this.selectedProvider=t,null===t&&null!==this.initialProvider&&this.onCancel()},onBackClicked(){this.$refs.referencePicker.deselectProvider()}}};var ee=i(698),ne={};ne.styleTagTransform=g(),ne.setAttributes=u(),ne.insert=d().bind(null,"head"),ne.domAPI=l(),ne.insertStyleElement=m(),r()(ee.Z,ne),ee.Z&&ee.Z.locals&&ee.Z.locals;var ie=i(6508),ae={};ae.styleTagTransform=g(),ae.setAttributes=u(),ae.insert=d().bind(null,"head"),ae.domAPI=l(),ae.insertStyleElement=m(),r()(ie.Z,ae),ie.Z&&ie.Z.locals&&ie.Z.locals;const oe=(0,b.Z)(te,(function(){var t=this,e=t._self._c;return t.show?e("NcModal",{staticClass:"reference-picker-modal",attrs:{size:t.modalSize,"can-close":!1},on:{close:t.onCancel}},[e("div",{ref:"modal_content",staticClass:"reference-picker-modal--content"},[t.showBackButton?e("NcButton",{staticClass:"back-button",attrs:{"aria-label":t.backButtonTitle,title:t.backButtonTitle},on:{click:t.onBackClicked},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)}):t._e(),t._v(" "),e("NcButton",{staticClass:"close-button",attrs:{"aria-label":t.closeButtonLabel,title:t.closeButtonTitle},on:{click:t.onCancel},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon")]},proxy:!0}],null,!1,2491825086)}),t._v(" "),t.showModalTitle?e("h2",[t._v("\n\t\t\t"+t._s(t.modalTitle)+"\n\t\t")]):t._e(),t._v(" "),e("NcReferencePicker",{ref:"referencePicker",attrs:{"initial-provider":t.initialProvider,"focus-on-create":t.focusOnCreate},on:{"provider-selected":t.onProviderSelect,submit:t.onSubmit,cancel:t.onCancel}})],1)]):t._e()}),[],!1,null,"1f66021a",null).exports;var re=i(2734),se=i.n(re);async function le(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return await new Promise(((n,i)=>{var a;const o=document.createElement("div");o.id="referencePickerModal",document.body.append(o);const r=null===t?null:null!==(a=function(t){return t===st?lt:ct().find((e=>e.id===t))}(t))&&void 0!==a?a:null,s=new(se().extend(oe))({propsData:{initialProvider:r,isInsideViewer:e}}).$mount(o);s.$on("cancel",(()=>{s.$destroy(),i(new Error("User cancellation"))})),s.$on("submit",(t=>{s.$destroy(),n(t)}))}))}},6442:(t,e,i)=>{"use strict";i.d(e,{default:()=>C});var a=i(9563),o=i(8618),r=i.n(o),s=i(3875),l=i.n(s);const c=n(92425);var d=i.n(c),A=i(932);const u={name:"NcTextField",components:{NcInputField:a.Z,Close:r(),ArrowRight:l(),Undo:d()},inheritAttrs:!1,props:{...a.Z.props,trailingButtonIcon:{type:String,default:"close",validator:t=>["close","arrowRight","undo"].includes(t)}},emits:["update:value"],computed:{clearTextLabel(){return this.trailingButtonLabel||(0,A.t)("Clear text")}},methods:{focus(){this.$refs.inputField.focus()},select(){this.$refs.inputField.select()},handleInput(t){this.$emit("update:value",t.target.value)}}};var p=i(1900),m=i(5439),h=i.n(m),g=(0,p.Z)(u,(function(){var t=this,e=t._self._c;return e("NcInputField",t._g(t._b({ref:"inputField",attrs:{"trailing-button-label":t.clearTextLabel},on:{input:t.handleInput},scopedSlots:t._u(["search"!==t.type?{key:"trailing-button-icon",fn:function(){return["close"===t.trailingButtonIcon?e("Close",{attrs:{size:20}}):"arrowRight"===t.trailingButtonIcon?e("ArrowRight",{attrs:{size:20}}):"undo"===t.trailingButtonIcon?e("Undo",{attrs:{size:20}}):t._e()]},proxy:!0}:null],null,!0)},"NcInputField",{...t.$attrs,...t.$props},!1),t.$listeners),[t._t("default")],2)}),[],!1,null,null,null);"function"==typeof h()&&h()(g);const C=g.exports},336:(t,e,n)=>{"use strict";n.d(e,{default:()=>v});var i=n(9454),a=n(3379),o=n.n(a),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),d=n(3565),A=n.n(d),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),g=n(8384),C={};C.styleTagTransform=h(),C.setAttributes=A(),C.insert=c().bind(null,"head"),C.domAPI=s(),C.insertStyleElement=p(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals,i.options.themes.tooltip.html=!1,i.options.themes.tooltip.delay={show:500,hide:200},i.options.themes.tooltip.distance=10,i.options.themes.tooltip["arrow-padding"]=3;const v=i.VTooltip},6540:(t,e,n)=>{"use strict";n.d(e,{emojiAddRecent:()=>s,emojiSearch:()=>r});var i=n(1822),a=n.n(i),o=n(9);const r=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;const n=new o.EmojiIndex(a());if(t){let i=n.search(":".concat(t),e);return i.lengthn.emoji(t)))||[]},s=function(t){o.frequently.add(t)}},7993:(t,e,i)=>{"use strict";i.d(e,{default:()=>s});var a=i(6609);const o=n(2568);var r=i.n(o);const s=function(t){let e=t.toLowerCase();return null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=r()(e)),e=e.replace(/[^0-9a-f]/g,""),(0,a.Z)(6)[function(t,e){let n=0;const i=[];for(let e=0;e{"use strict";n.d(e,{n:()=>o,t:()=>r});const i=(0,n(7931).getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Anything shared with the same group of people will show up here":"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات","Change title":"تغيير العنوان",Choose:"إختيار","Clear text":"مسح النص",Close:"أغلق","Close modal":"قفل الشرط","Close navigation":"إغلاق المتصفح","Close sidebar":"قفل الشريط الجانبي","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","Error getting related resources":"خطأ في تحصيل مصادر ذات صلة","External documentation for {title}":"الوثائق الخارجية لـ{title}",Favorite:"مفضلة",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Hide password":"إخفاء كلمة السر","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف","More items …":"عناصر أخرى ...",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء",Open:"فتح",'Open link to "{resourceTitle}"':'فتح رابط إلى "{resourceTitle}"',"Open navigation":"فتح المتصفح","Password is secure":"كلمة السر مُؤمّنة","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق","Related resources":"مصادر ذات صلة",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Show password":"أعرض كلمة السر","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Anything shared with the same group of people will show up here":"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancel·la els canvis","Change title":"Canviar títol",Choose:"Tria","Clear text":"Netejar text",Close:"Tanca","Close modal":"Tancar el mode","Close navigation":"Tanca la navegació","Close sidebar":"Tancar la barra lateral","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","Edit item":"Edita l'element","Error getting related resources":"Error obtenint els recursos relacionats","Error parsing svg":"Error en l'anàlisi del svg","External documentation for {title}":"Documentació externa per a {title}",Favorite:"Preferit",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment",Global:"Global","Go back to the list":"Torna a la llista","Hide password":"Amagar contrasenya","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge","More items …":"Més artícles...",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes",Open:"Obrir",'Open link to "{resourceTitle}"':'Obrir enllaç a "{resourceTitle}"',"Open navigation":"Obre la navegació","Password is secure":"Contrasenya segura
    ","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji","Please select a time zone:":"Seleccioneu una zona horària:",Previous:"Anterior","Related resources":"Recursos relacionats",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Seleccioneu una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Show password":"Mostrar contrasenya","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Type to search time zone":"Escriviu per cercar la zona horària","Unable to search the group":"No es pot cercar el grup","Undo changes":"Desfés els canvis",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escriu missatge, fes servir "@" per esmentar algú, fes servir ":" per autocompletar emojis...'}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Anything shared with the same group of people will show up here":"Cokoli nasdíleného stejné skupině lidí se zobrazí zde","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny","Change title":"Změnit nadpis",Choose:"Zvolit","Clear text":"Čitelný text",Close:"Zavřít","Close modal":"Zavřít dialogové okno","Close navigation":"Zavřít navigaci","Close sidebar":"Zavřít postranní panel","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","Error getting related resources":"Chyba při získávání souvisejících prostředků","Error parsing svg":"Chyba při zpracovávání svg","External documentation for {title}":"Externí dokumentace k {title}",Favorite:"Oblíbené",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Hide password":"Skrýt heslo","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy","More items …":"Další položky…",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty",Open:"Otevřít",'Open link to "{resourceTitle}"':"Otevřít odkaz na „{resourceTitle}“","Open navigation":"Otevřít navigaci","Password is secure":"Heslo je bezpečné","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí","Related resources":"Související prostředky",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Show password":"Zobrazit heslo","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur","Anything shared with the same group of people will show up here":"Alt der deles med samme gruppe af personer vil vises her","Avatar of {displayName}":"Avatar af {displayName}","Avatar of {displayName}, {status}":"Avatar af {displayName}, {status}","Cancel changes":"Annuller ændringer","Change title":"Ret titel",Choose:"Vælg","Clear text":"Ryd tekst",Close:"Luk","Close modal":"Luk vindue","Close navigation":"Luk navigation","Close sidebar":"Luk sidepanel","Confirm changes":"Bekræft ændringer",Custom:"Brugerdefineret","Edit item":"Rediger emne","Error getting related resources":"Kunne ikke hente tilknyttede data","Error parsing svg":"Fejl ved analysering af svg","External documentation for {title}":"Ekstern dokumentation for {title}",Favorite:"Favorit",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt",Global:"Global","Go back to the list":"Tilbage til listen","Hide password":"Skjul kodeord","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået","More items …":"Mere ...",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter",Open:"Åbn",'Open link to "{resourceTitle}"':'Åbn link til "{resourceTitle}"',"Open navigation":"Åbn navigation","Password is secure":"Kodeordet er sikkert","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji","Please select a time zone:":"Vælg venligst en tidszone:",Previous:"Forrige","Related resources":"Relaterede emner",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Show password":"Vis kodeord","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Type to search time zone":"Indtast for at søge efter tidszone","Unable to search the group":"Kan ikke søge på denne gruppe","Undo changes":"Fortryd ændringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv besked, brug "@" for at nævne nogen, brug ":" til emoji-autofuldførelse ...'}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Anything shared with the same group of people will show up here":"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ","Avatar of {displayName}":"Άβαταρ του {displayName}","Avatar of {displayName}, {status}":"Άβαταρ του {displayName}, {status}","Cancel changes":"Ακύρωση αλλαγών","Change title":"Αλλαγή τίτλου",Choose:"Επιλογή","Clear text":"Εκκαθάριση κειμένου",Close:"Κλείσιμο","Close modal":"Βοηθητικό κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Close sidebar":"Κλείσιμο πλευρικής μπάρας","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","Error getting related resources":"Σφάλμα λήψης σχετικών πόρων","Error parsing svg":"Σφάλμα ανάλυσης svg","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Favorite:"Αγαπημένα",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Hide password":"Απόκρυψη κωδικού πρόσβασης","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος","More items …":"Περισσότερα στοιχεία …",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα",Open:"Άνοιγμα",'Open link to "{resourceTitle}"':'Άνοιγμα συνδέσμου στο "{resourceTitle}"',"Open navigation":"Άνοιγμα πλοήγησης","Password is secure":"Ο κωδικός πρόσβασης είναι ασφαλής","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο","Related resources":"Σχετικοί πόροι",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Show password":"Εμφάνιση κωδικού πρόσβασης","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε "@" για να αναφέρετε κάποιον, χρησιμοποιείστε ":" για αυτόματη συμπλήρωση emoji …'}},{locale:"en_GB",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Actions",Activities:"Activities","Animals & Nature":"Animals & Nature","Anything shared with the same group of people will show up here":"Anything shared with the same group of people will show up here","Avatar of {displayName}":"Avatar of {displayName}","Avatar of {displayName}, {status}":"Avatar of {displayName}, {status}","Cancel changes":"Cancel changes","Change title":"Change title",Choose:"Choose","Clear text":"Clear text",Close:"Close","Close modal":"Close modal","Close navigation":"Close navigation","Close sidebar":"Close sidebar","Confirm changes":"Confirm changes",Custom:"Custom","Edit item":"Edit item","Error getting related resources":"Error getting related resources","Error parsing svg":"Error parsing svg","External documentation for {title}":"External documentation for {title}",Favorite:"Favourite",Flags:"Flags","Food & Drink":"Food & Drink","Frequently used":"Frequently used",Global:"Global","Go back to the list":"Go back to the list","Hide password":"Hide password","Message limit of {count} characters reached":"Message limit of {count} characters reached","More items …":"More items …",Next:"Next","No emoji found":"No emoji found","No results":"No results",Objects:"Objects",Open:"Open",'Open link to "{resourceTitle}"':'Open link to "{resourceTitle}"',"Open navigation":"Open navigation","Password is secure":"Password is secure","Pause slideshow":"Pause slideshow","People & Body":"People & Body","Pick an emoji":"Pick an emoji","Please select a time zone:":"Please select a time zone:",Previous:"Previous","Related resources":"Related resources",Search:"Search","Search results":"Search results","Select a tag":"Select a tag",Settings:"Settings","Settings navigation":"Settings navigation","Show password":"Show password","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start slideshow",Submit:"Submit",Symbols:"Symbols","Travel & Places":"Travel & Places","Type to search time zone":"Type to search time zone","Unable to search the group":"Unable to search the group","Undo changes":"Undo changes",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Write message, use "@" to mention someone, use ":" for emoji autocompletion …'}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Anything shared with the same group of people will show up here":"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios","Change title":"Cambiar título",Choose:"Elegir","Clear text":"Limpiar texto",Close:"Cerrar","Close modal":"Cerrar modal","Close navigation":"Cerrar navegación","Close sidebar":"Cerrar barra lateral","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","Error getting related resources":"Se encontró un error al obtener los recursos relacionados","Error parsing svg":"Error procesando svg","External documentation for {title}":"Documentacion externa de {title}",Favorite:"Favorito",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Hide password":"Ocultar contraseña","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres","More items …":"Más ítems...",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos",Open:"Abrir",'Open link to "{resourceTitle}"':'Abrir enlace a "{resourceTitle}"',"Open navigation":"Abrir navegación","Password is secure":"La contraseña es segura","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Show password":"Mostrar contraseña","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escribir mensaje, utilice "@" para mencionar a alguien, utilice ":" para autocompletado de emojis ...'}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Anything shared with the same group of people will show up here":"Pertsona-talde berarekin partekatutako edozer agertuko da hemen","Avatar of {displayName}":"{displayName}-(e)n irudia","Avatar of {displayName}, {status}":"{displayName} -(e)n irudia, {status}","Cancel changes":"Ezeztatu aldaketak","Change title":"Aldatu titulua",Choose:"Aukeratu","Clear text":"Garbitu testua",Close:"Itxi","Close modal":"Itxi modala","Close navigation":"Itxi nabigazioa","Close sidebar":"Itxi albo-barra","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","Edit item":"Editatu elementua","Error getting related resources":"Errorea erlazionatutako baliabideak lortzerakoan","Error parsing svg":"Errore bat gertatu da svg-a analizatzean","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Favorite:"Gogokoa",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Hide password":"Ezkutatu pasahitza","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara","More items …":"Elementu gehiago …",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak",Open:"Ireki",'Open link to "{resourceTitle}"':'Ireki esteka: "{resourceTitle}"',"Open navigation":"Ireki nabigazioa","Password is secure":"Pasahitza segurua da","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Hautatu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa","Related resources":"Erlazionatutako baliabideak",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Show password":"Erakutsi pasahitza","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Undo changes":"Aldaketak desegin",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Idatzi mezua, erabili "@" norbait aipatzeko, erabili ":" emojiak automatikoki osatzeko...'}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone, : for emoji autocompletion …":"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…"}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Anything shared with the same group of people will show up here":"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications","Change title":"Modifier le titre",Choose:"Choisir","Clear text":"Effacer le texte",Close:"Fermer","Close modal":"Fermer la fenêtre","Close navigation":"Fermer la navigation","Close sidebar":"Fermer la barre latérale","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","Error getting related resources":"Erreur à la récupération des ressources liées","Error parsing svg":"Erreur d'analyse SVG","External documentation for {title}":"Documentation externe pour {title}",Favorite:"Favori",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Hide password":"Cacher le mot de passe","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte","More items …":"Plus d'éléments...",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets",Open:"Ouvrir",'Open link to "{resourceTitle}"':'Ouvrir le lien vers "{resourceTitle}"',"Open navigation":"Ouvrir la navigation","Password is secure":"Le mot de passe est sécurisé","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent","Related resources":"Ressources liées",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Show password":"Afficher le mot de passe","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Écrire un message, utiliser "@" pour mentionner une personne, ":" pour l\'autocomplétion des émojis...'}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Anything shared with the same group of people will show up here":"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni","Avatar of {displayName}":"{displayName} profilképe","Avatar of {displayName}, {status}":"{displayName} profilképe, {status}","Cancel changes":"Változtatások elvetése","Change title":"Cím megváltoztatása",Choose:"Válassszon","Clear text":"Szöveg törlése",Close:"Bezárás","Close modal":"Ablak bezárása","Close navigation":"Navigáció bezárása","Close sidebar":"Oldalsáv bezárása","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","Edit item":"Elem szerkesztése","Error getting related resources":"Hiba a kapcsolódó erőforrások lekérésekor","Error parsing svg":"Hiba az SVG feldolgozásakor","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Favorite:"Kedvenc",Flags:"Zászlók","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Go back to the list":"Ugrás vissza a listához","Hide password":"Jelszó elrejtése","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve","More items …":"További elemek...",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak",Open:"Megnyitás",'Open link to "{resourceTitle}"':"A(z) „{resourceTitle}” hivatkozásának megnyitása","Open navigation":"Navigáció megnyitása","Password is secure":"A jelszó biztonságos","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző","Related resources":"Kapcsolódó erőforrások",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Show password":"Jelszó megjelenítése","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Undo changes":"Változtatások visszavonása",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Anything shared with the same group of people will show up here":"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui","Avatar of {displayName}":"Avatar di {displayName}","Avatar of {displayName}, {status}":"Avatar di {displayName}, {status}","Cancel changes":"Annulla modifiche","Change title":"Modifica il titolo",Choose:"Scegli","Clear text":"Cancella il testo",Close:"Chiudi","Close modal":"Chiudi il messaggio modale","Close navigation":"Chiudi la navigazione","Close sidebar":"Chiudi la barra laterale","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","Edit item":"Modifica l'elemento","Error getting related resources":"Errore nell'ottenere risorse correlate","Error parsing svg":"Errore nell'analizzare l'svg","External documentation for {title}":"Documentazione esterna per {title}",Favorite:"Preferito",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente",Global:"Globale","Go back to the list":"Torna all'elenco","Hide password":"Nascondi la password","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto","More items …":"Più elementi ...",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti",Open:"Apri",'Open link to "{resourceTitle}"':'Apri il link a "{resourceTitle}"',"Open navigation":"Apri la navigazione","Password is secure":"La password è sicura","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji","Please select a time zone:":"Si prega di selezionare un fuso orario:",Previous:"Precedente","Related resources":"Risorse correlate",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Show password":"Mostra la password","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Type to search time zone":"Digita per cercare un fuso orario","Unable to search the group":"Impossibile cercare il gruppo","Undo changes":"Cancella i cambiamenti",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrivi un messaggio, "@" per menzionare qualcuno, ":" per il completamento automatico delle emoji ...'}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Anything shared with the same group of people will show up here":"同じグループで共有しているものは、全てここに表示されます","Avatar of {displayName}":"{displayName} のアバター","Avatar of {displayName}, {status}":"{displayName}, {status} のアバター","Cancel changes":"変更をキャンセル","Change title":"タイトルを変更",Choose:"選択","Clear text":"テキストをクリア",Close:"閉じる","Close modal":"モーダルを閉じる","Close navigation":"ナビゲーションを閉じる","Close sidebar":"サイドバーを閉じる","Confirm changes":"変更を承認",Custom:"カスタム","Edit item":"編集","Error getting related resources":"関連リソースの取得エラー","Error parsing svg":"svgの解析エラー","External documentation for {title}":"{title} のための添付文書",Favorite:"お気に入り",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Go back to the list":"リストに戻る","Hide password":"パスワードを非表示","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています","More items …":"他のアイテム",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物",Open:"開く",'Open link to "{resourceTitle}"':'"{resourceTitle}"のリンクを開く',"Open navigation":"ナビゲーションを開く","Password is secure":"パスワードは保護されています","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前","Related resources":"関連リソース",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Show password":"パスワードを表示","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Undo changes":"変更を取り消し",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'メッセージを記入、"@"でメンション、":"で絵文字の自動補完 ...'}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа","Avatar of {displayName}":"Аватар на {displayName}","Avatar of {displayName}, {status}":"Аватар на {displayName}, {status}","Cancel changes":"Откажи ги промените","Change title":"Промени наслов",Choose:"Избери",Close:"Затвори","Close modal":"Затвори модал","Close navigation":"Затвори навигација","Confirm changes":"Потврди ги промените",Custom:"Прилагодени","Edit item":"Уреди","External documentation for {title}":"Надворешна документација за {title}",Favorite:"Фаворити",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени",Global:"Глобално","Go back to the list":"Врати се на листата",items:"ставки","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато","More {dashboardItemType} …":"Повеќе {dashboardItemType} …",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти",Open:"Отвори","Open navigation":"Отвори навигација","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон","Please select a time zone:":"Изберете временска зона:",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Submit:"Испрати",Symbols:"Симболи","Travel & Places":"Патувања & Места","Type to search time zone":"Напишете за да пребарате временска зона","Unable to search the group":"Неможе да се принајде групата","Undo changes":"Врати ги промените","Write message, @ to mention someone, : for emoji autocompletion …":"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ..."}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Anything shared with the same group of people will show up here":"Alt som er delt med den samme gruppen vil vises her","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer","Change title":"Endre tittel",Choose:"Velg","Clear text":"Fjern tekst",Close:"Lukk","Close modal":"Lukk modal","Close navigation":"Lukk navigasjon","Close sidebar":"Lukk sidepanel","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","Error getting related resources":"Feil ved henting av relaterte ressurser","Error parsing svg":"Feil ved parsing av svg","External documentation for {title}":"Ekstern dokumentasjon for {title}",Favorite:"Favoritt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Hide password":"Skjul passord","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding","More items …":"Flere gjenstander...",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter",Open:"Åpne",'Open link to "{resourceTitle}"':'Åpne link til "{resourceTitle}"',"Open navigation":"Åpne navigasjon","Password is secure":"Passordet er sikkert","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige","Related resources":"Relaterte ressurser",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjonsinstillinger","Show password":"Vis passord","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Tast for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv melding, bruk "@" for å nevne noen, bruk ":" for autofullføring av emoji...'}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Anything shared with the same group of people will show up here":"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany","Change title":"Zmień tytuł",Choose:"Wybierz","Clear text":"Wyczyść tekst",Close:"Zamknij","Close modal":"Zamknij modal","Close navigation":"Zamknij nawigację","Close sidebar":"Zamknij pasek boczny","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","Error getting related resources":"Błąd podczas pobierania powiązanych zasobów","Error parsing svg":"Błąd podczas analizowania svg","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Favorite:"Ulubiony",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Hide password":"Ukryj hasło","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków","More items …":"Więcej pozycji…",Next:"Następny","No emoji found":"Nie znaleziono emoji","No results":"Brak wyników",Objects:"Obiekty",Open:"Otwórz",'Open link to "{resourceTitle}"':'Otwórz link do "{resourceTitle}"',"Open navigation":"Otwórz nawigację","Password is secure":"Hasło jest bezpieczne","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni","Related resources":"Powiązane zasoby",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Show password":"Pokaż hasło","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Napisz wiadomość, "@" aby o kimś wspomnieć, ":" dla autouzupełniania emoji…'}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Anything shared with the same group of people will show up here":"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações","Change title":"Alterar título",Choose:"Escolher","Clear text":"Limpar texto",Close:"Fechar","Close modal":"Fechar modal","Close navigation":"Fechar navegação","Close sidebar":"Fechar barra lateral","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","Error getting related resources":"Erro ao obter recursos relacionados","Error parsing svg":"Erro ao analisar svg","External documentation for {title}":"Documentação externa para {title}",Favorite:"Favorito",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Hide password":"Ocultar a senha","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido","More items …":"Mais itens …",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos",Open:"Aberto",'Open link to "{resourceTitle}"':'Abrir link para "{resourceTitle}"',"Open navigation":"Abrir navegação","Password is secure":"A senha é segura","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Show password":"Mostrar senha","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escreva mensagens, use "@" para mencionar algum, use ":" for autocompletar emoji …'}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ro",translations:{"{tag} (invisible)":"{tag} (invizibil)","{tag} (restricted)":"{tag} (restricționat)",Actions:"Acțiuni",Activities:"Activități","Animals & Nature":"Animale și natură","Anything shared with the same group of people will show up here":"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici","Avatar of {displayName}":"Avatarul lui {displayName}","Avatar of {displayName}, {status}":"Avatarul lui {displayName}, {status}","Cancel changes":"Anulează modificările","Change title":"Modificați titlul",Choose:"Alegeți","Clear text":"Șterge textul",Close:"Închideți","Close modal":"Închideți modulul","Close navigation":"Închideți navigarea","Close sidebar":"Închide bara laterală","Confirm changes":"Confirmați modificările",Custom:"Personalizat","Edit item":"Editați elementul","Error getting related resources":" Eroare la returnarea resurselor legate","Error parsing svg":"Eroare de analizare a svg","External documentation for {title}":"Documentație externă pentru {title}",Favorite:"Favorit",Flags:"Marcaje","Food & Drink":"Alimente și băuturi","Frequently used":"Utilizate frecvent",Global:"Global","Go back to the list":"Întoarceți-vă la listă","Hide password":"Ascunde parola","Message limit of {count} characters reached":"Limita mesajului de {count} caractere a fost atinsă","More items …":"Mai multe articole ...",Next:"Următorul","No emoji found":"Nu s-a găsit niciun emoji","No results":"Nu există rezultate",Objects:"Obiecte",Open:"Deschideți",'Open link to "{resourceTitle}"':'Deschide legătura la "{resourceTitle}"',"Open navigation":"Deschideți navigația","Password is secure":"Parola este sigură","Pause slideshow":"Pauză prezentare de diapozitive","People & Body":"Oameni și corp","Pick an emoji":"Alege un emoji","Please select a time zone:":"Vă rugăm să selectați un fus orar:",Previous:"Anterior","Related resources":"Resurse legate",Search:"Căutare","Search results":"Rezultatele căutării","Select a tag":"Selectați o etichetă",Settings:"Setări","Settings navigation":"Navigare setări","Show password":"Arată parola","Smileys & Emotion":"Zâmbete și emoții","Start slideshow":"Începeți prezentarea de diapozitive",Submit:"Trimiteți",Symbols:"Simboluri","Travel & Places":"Călătorii și locuri","Type to search time zone":"Tastați pentru a căuta fusul orar","Unable to search the group":"Imposibilitatea de a căuta în grup","Undo changes":"Anularea modificărilor",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrie un mesaj, folosește "@" pentru a menționa pe cineva, folosește ":" pentru autocompletarea cu emoji ...'}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Фотография {displayName}, {status}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Close modal":"Закрыть модальное окно","Close navigation":"Закрыть навигацию","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","Edit item":"Изменить элемент","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Go back to the list":"Вернуться к списку",items:"элементов","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}","More {dashboardItemType} …":"Больше {dashboardItemType} …",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты",Open:"Открыть","Open navigation":"Открыть навигацию","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Undo changes":"Отменить изменения","Write message, @ to mention someone, : for emoji autocompletion …":"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Avatar of {displayName}, {status}":"Avatar {displayName}, {status}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone, : for emoji autocompletion …":"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…"}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Avatar of {displayName}, {status}":"Prikazna slika {displayName}, {status}","Cancel changes":"Prekliči spremembe","Change title":"Spremeni naziv",Choose:"Izbor","Clear text":"Počisti besedilo",Close:"Zapri","Close modal":"Zapri pojavno okno","Close navigation":"Zapri krmarjenje","Close sidebar":"Zapri stransko vrstico","Confirm changes":"Potrdi spremembe",Custom:"Po meri","Edit item":"Uredi predmet","Error getting related resources":"Napaka pridobivanja povezanih virov","External documentation for {title}":"Zunanja dokumentacija za {title}",Favorite:"Priljubljeno",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Go back to the list":"Vrni se na seznam","Hide password":"Skrij geslo","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.","More items …":"Več predmetov ...",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti",Open:"Odpri",'Open link to "{resourceTitle}"':"Odpri povezavo do »{resourceTitle}«","Open navigation":"Odpri krmarjenje","Password is secure":"Geslo je varno","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick a date":"Izbor datuma","Pick a date and a time":"Izbor datuma in časa","Pick a month":"Izbor meseca","Pick a time":"Izbor časa","Pick a week":"Izbor tedna","Pick a year":"Izbor leta","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni","Related resources":"Povezani viri",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Show password":"Pokaži geslo","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Undo changes":"Razveljavi spremembe","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …"}},{locale:"sr",translations:{"{tag} (invisible)":"{tag} (nevidljivo)","{tag} (restricted)":"{tag} (ograničeno)",Actions:"Radnje",Activities:"Aktivnosti","Animals & Nature":"Životinje i Priroda","Avatar of {displayName}":"Avatar za {displayName}","Avatar of {displayName}, {status}":"Avatar za {displayName}, {status}","Cancel changes":"Otkaži izmene","Change title":"Izmeni naziv",Choose:"Изаберите",Close:"Затвори","Close modal":"Zatvori modal","Close navigation":"Zatvori navigaciju","Close sidebar":"Zatvori bočnu traku","Confirm changes":"Potvrdite promene",Custom:"Po meri","Edit item":"Uredi stavku","External documentation for {title}":"Eksterna dokumentacija za {title}",Favorite:"Omiljeni",Flags:"Zastave","Food & Drink":"Hrana i Piće","Frequently used":"Često korišćeno",Global:"Globalno","Go back to the list":"Natrag na listu",items:"stavke","Message limit of {count} characters reached":"Dostignuto je ograničenje za poruke od {count} znakova","More {dashboardItemType} …":"Više {dashboardItemType} …",Next:"Следеће","No emoji found":"Nije pronađen nijedan emodži","No results":"Нема резултата",Objects:"Objekti",Open:"Otvori","Open navigation":"Otvori navigaciju","Pause slideshow":"Паузирај слајд шоу","People & Body":"Ljudi i Telo","Pick an emoji":"Izaberi emodži","Please select a time zone:":"Molimo izaberite vremensku zonu:",Previous:"Претходно",Search:"Pretraži","Search results":"Rezultati pretrage","Select a tag":"Изаберите ознаку",Settings:"Поставке","Settings navigation":"Navigacija u podešavanjima","Smileys & Emotion":"Smajli i Emocije","Start slideshow":"Покрени слајд шоу",Submit:"Prihvati",Symbols:"Simboli","Travel & Places":"Putovanja i Mesta","Type to search time zone":"Ukucaj da pretražiš vremenske zone","Unable to search the group":"Nije moguće pretražiti grupu","Undo changes":"Poništi promene","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…"}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Anything shared with the same group of people will show up here":"Något som delats med samma grupp av personer kommer att visas här","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar","Change title":"Ändra titel",Choose:"Välj","Clear text":"Ta bort text",Close:"Stäng","Close modal":"Stäng modal","Close navigation":"Stäng navigering","Close sidebar":"Stäng sidopanel","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","Error getting related resources":"Problem att hämta relaterade resurser","Error parsing svg":"Fel vid inläsning av svg","External documentation for {title}":"Extern dokumentation för {title}",Favorite:"Favorit",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Hide password":"Göm lössenordet","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används","More items …":"Fler objekt",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt",Open:"Öppna",'Open link to "{resourceTitle}"':'Öppna länk till "{resourceTitle}"',"Open navigation":"Öppna navigering","Password is secure":"Lössenordet är säkert","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående","Related resources":"Relaterade resurser",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Show password":"Visa lössenordet","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv meddelande, använd "@" för att nämna någon, använd ":" för automatiska emojiförslag ...'}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Anything shared with the same group of people will show up here":"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et","Change title":"Başlığı değiştir",Choose:"Seçin","Clear text":"Metni temizle",Close:"Kapat","Close modal":"Üste açılan pencereyi kapat","Close navigation":"Gezinmeyi kapat","Close sidebar":"Yan çubuğu kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","Error getting related resources":"İlgili kaynaklar alınırken sorun çıktı","Error parsing svg":"svg işlenirken sorun çıktı","External documentation for {title}":"{title} için dış belgeler",Favorite:"Sık kullanılanlara ekle",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Hide password":"Parolayı gizle","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı","More items …":"Diğer ögeler…",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler",Open:"Aç",'Open link to "{resourceTitle}"':'"{resourceTitle}" bağlantısını aç',"Open navigation":"Gezinmeyi aç","Password is secure":"Parola güvenli","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki","Related resources":"İlgili kaynaklar",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Show password":"Parolayı görüntüle","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için ":" kullanın…'}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (невидимий)","{tag} (restricted)":"{tag} (обмежений)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Аватар {displayName}, {status}","Cancel changes":"Скасувати зміни","Change title":"Змінити назву",Choose:"ВиберітьВиберіть","Clear text":"Очистити текст",Close:"Закрити","Close modal":"Закрити модаль","Close navigation":"Закрити навігацію","Close sidebar":"Закрити бічну панель","Confirm changes":"Підтвердити зміни",Custom:"Власне","Edit item":"Редагувати елемент","External documentation for {title}":"Зовнішня документація для {title}",Favorite:"Улюблений",Flags:"Прапори","Food & Drink":"Їжа та напої","Frequently used":"Найчастіші",Global:"Глобальний","Go back to the list":"Повернутися до списку","Hide password":"Приховати пароль",items:"елементи","Message limit of {count} characters reached":"Вичерпано ліміт у {count} символів для повідомлення","More {dashboardItemType} …":"Більше {dashboardItemType}…",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти",Open:"Відкрити","Open navigation":"Відкрити навігацію","Password is secure":"Пароль безпечний","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку","Please select a time zone:":"Виберіть часовий пояс:",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Settings navigation":"Навігація у налаштуваннях","Show password":"Показати пароль","Smileys & Emotion":"Смайли та емоції","Start slideshow":"Почати показ слайдів",Submit:"Надіслати",Symbols:"Символи","Travel & Places":"Поїздки та місця","Type to search time zone":"Введіть для пошуку часовий пояс","Unable to search the group":"Неможливо шукати в групі","Undo changes":"Скасувати зміни","Write message, @ to mention someone, : for emoji autocompletion …":"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Anything shared with the same group of people will show up here":"与同组用户分享的所有内容都会显示于此","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改","Change title":"更改标题",Choose:"选择","Clear text":"清除文本",Close:"关闭","Close modal":"关闭窗口","Close navigation":"关闭导航","Close sidebar":"关闭侧边栏","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","Error getting related resources":"获取相关资源时出错","Error parsing svg":"解析 svg 时出错","External documentation for {title}":"{title}的外部文档",Favorite:"喜爱",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Hide password":"隐藏密码","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制","More items …":"更多项目…",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体",Open:"打开",'Open link to "{resourceTitle}"':'打开"{resourceTitle}"的连接',"Open navigation":"开启导航","Password is secure":"密码安全","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个","Related resources":"相关资源",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Show password":"显示密码","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'写信息,使用"@"来提及某人,使用":"进行表情符号自动完成 ...'}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Anything shared with the same group of people will show up here":"與同一組人共享的任何內容都會顯示在此處","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName} 的頭像,{status}","Cancel changes":"取消更改","Change title":"更改標題",Choose:"選擇","Clear text":"清除文本",Close:"關閉","Close modal":"關閉模態","Close navigation":"關閉導航","Close sidebar":"關閉側邊欄","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","Error getting related resources":"獲取相關資源出錯","Error parsing svg":"解析 svg 時出錯","External documentation for {title}":"{title} 的外部文檔",Favorite:"喜愛",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Hide password":"隱藏密碼","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制","More items …":"更多項目 …",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件",Open:"打開",'Open link to "{resourceTitle}"':"打開指向 “{resourceTitle}” 的鏈結","Open navigation":"開啟導航","Password is secure":"密碼是安全的","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個","Related resources":"相關資源",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Show password":"顯示密碼","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'寫訊息,使用 "@" 來指代某人,使用 ":" 用於表情符號自動填充 ...'}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((t=>{const e={};for(const n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};i.addTranslation(t.locale,{translations:{"":e}})}));const a=i.build(),o=a.ngettext.bind(a),r=a.gettext.bind(a)},6730:()=>{},3351:(t,e,i)=>{"use strict";i.d(e,{iQ:()=>c}),i(6730),i(8136),i(334),i(3132);var a=i(3607),o=i(768),r=i.n(o);const s=n(42515);var l=i(4262);const c={data:()=>({hasStatus:!1,userStatus:{status:null,message:null,icon:null}}),methods:{async fetchUserStatus(t){if(!t)return;const e=(0,s.getCapabilities)();if(Object.prototype.hasOwnProperty.call(e,"user_status")&&e.user_status.enabled&&(0,a.getCurrentUser)())try{const{data:e}=await r().get((0,l.generateOcsUrl)("apps/user_status/api/v1/statuses/{userId}",{userId:t})),{status:n,message:i,icon:a}=e.ocs.data;this.userStatus.status=n,this.userStatus.message=i||"",this.userStatus.icon=a||"",this.hasStatus=!0}catch(t){var n,i;if(404===t.response.status&&0===(null===(n=t.response.data.ocs)||void 0===n||null===(i=n.data)||void 0===i?void 0:i.length))return;console.error(t)}}}}},8136:()=>{},334:(t,e,n)=>{"use strict";var i=n(2734);new(n.n(i)())({data:()=>({isMobile:!1}),watch:{isMobile(t){this.$emit("changed",t)}},created(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize(){this.isMobile=document.documentElement.clientWidth<1024}}})},3648:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var i=n(932);const a={methods:{n:i.n,t:i.t}}},3132:(t,e,i)=>{"use strict";i.d(e,{default:()=>g});var a=i(4470),o=i(1390);const r=n(95573);var s=i.n(r);const l=n(43726);var c=i.n(l),d=i(2734),A=i.n(d);const u="(?:^|\\s)",p="(?:[^a-z]|$)",m=new RegExp("".concat(u,"(@[a-zA-Z0-9_.@\\-']+)(").concat(p,")"),"gi"),h=new RegExp("".concat(u,"(@"[a-zA-Z0-9 _.@\\-']+")(").concat(p,")"),"gi"),g={props:{userData:{type:Object,default:()=>({})}},methods:{renderContent(t){return s()(t).split(m).map((t=>t.split(h))).flat().map((t=>{if(!t.startsWith("@"))return(0,o.Z)(t);const e=t.slice(1).replace(/"/gi,"");return" "+this.genSelectTemplate(e)})).join("").replace(/\n/gim,"
    ").replace(/&/gim,"&")},parseContent(t){let e=t.replace(/
    /gim,"\n");return e=e.replace(/ /gim," "),e=e.replace(/&/gim,"&"),e=e.replace(/<\/div>/gim,"\n"),e=c()(e,"
    "),e=c()(e),e},genSelectTemplate(t){if(void 0===t)return"".concat(this.autocompleteTribute.current.collection.trigger).concat(this.autocompleteTribute.current.mentionText);const e=this.userData[t];return e?this.renderComponentHtml(e,a.Z).replace(/[\n\t]/gim,""):t.includes(" ")||t.includes("/")?'@"'.concat(t,'"'):"@".concat(t)},renderComponentHtml(t,e){const n=new(A().extend(e))({propsData:t}),i=document.createElement("div"),a=document.createElement("div");i.style.display="none",i.appendChild(a),document.body.appendChild(i),n.$mount(a);const o=i.innerHTML;return n.$destroy(),i.remove(),o}}}},1336:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});const i=(t,e)=>{const n=[];let i=0,a=t.toLowerCase().indexOf(e.toLowerCase(),i),o=0;for(;a>-1&&o{"use strict";function i(t,e,n){this.r=t,this.g=e,this.b=n}function a(t,e,n){const a=[];a.push(e);const o=function(t,e){const 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]);for(let n=1;no});const o=function(t){t||(t=6);const e=new i(182,70,157),n=new i(221,203,85),o=new i(0,130,201),r=a(t,e,n),s=a(t,n,o),l=a(t,o,e);return r.concat(s).concat(l)}},1205:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});const i=t=>Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,t||5)},1390:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});const a=n(50337);var o=i.n(a);const r=t=>o()(t,{defaultProtocol:"https",target:"_blank",className:"external linkified",attributes:{rel:"nofollow noopener noreferrer"}})},7645:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});const i=t=>{t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute("data-v-".concat("18ada6c"),"")}))}},1206:(t,e,n)=>{"use strict";n.d(e,{L:()=>i}),n(4505);const i=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},636:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,'.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-18ada6c]{margin:0;padding:0 !important;display:inline-block;min-width:260px;position:relative}.multiselect[data-v-18ada6c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-18ada6c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-18ada6c].multiselect--disabled,.multiselect[data-v-18ada6c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-18ada6c] .loading-icon{position:absolute;right:1px;top:1px;width:48px;height:35px;background:var(--color-main-background);z-index:3}.multiselect[data-v-18ada6c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:2px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:var(--border-radius-large);min-height:44px;height:44px;padding:8px 12px !important;background-color:var(--color-main-background);box-sizing:border-box}.multiselect[data-v-18ada6c] .multiselect__tags:focus,.multiselect[data-v-18ada6c] .multiselect__tags:hover{border-color:var(--color-primary-element)}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;gap:5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:2px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:var(--border-radius);min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:0}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__single,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__placeholder{z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center;font-size:var(--default-font-size)}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__single,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__single *,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-18ada6c] .multiselect__tags .multiselect__strong,.multiselect[data-v-18ada6c] .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-18ada6c] .multiselect__tags input.multiselect__input{width:100% !important;height:auto !important;margin:0;opacity:0;border:none;cursor:pointer;display:none;height:40px;min-height:26px;padding:0 !important;font-size:var(--default-font-size)}.multiselect[data-v-18ada6c].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-18ada6c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-18ada6c] .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-18ada6c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:rgba(0,0,0,0)}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li,.multiselect[data-v-18ada6c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0);color:var(--color-text-lighter);width:100%}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span::before{content:" ";background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-18ada6c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-18ada6c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-18ada6c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-18ada6c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-dark)}.multiselect[data-v-18ada6c].multiselect--multiple .multiselect__content-wrapper li>span[data-select=create]::before{background-image:var(--icon-add-dark);visibility:visible}.multiselect[data-v-18ada6c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-18ada6c]:hover .multiselect__placeholder,.multiselect[data-v-18ada6c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcMultiselect/index.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,6BACC,QAAA,CACA,oBAAA,CACA,oBAAA,CAEA,eAAA,CACA,iBAAA,CAGA,4EACC,UAAA,CACA,oBAAA,CAKA,6FACC,2DAAA,CAKF,2HAEC,wDAAA,CAID,2CACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,uCAAA,CACA,SAAA,CAID,gDAGC,YAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,cAAA,CACA,iBAAA,CACA,wCAAA,CACA,eAAA,CACA,WAAA,CACA,2BAAA,CACA,6CAAA,CACA,qBAAA,CAEA,4GACC,yCAAA,CAID,wEACC,kBAAA,CACA,mBAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,OAzBe,CA0Bf,QAAA,CACA,gBAAA,CAGA,uGACC,oBAAA,CACA,wBAAA,CAIA,sIACC,YAAA,CAIF,0FACC,gBAAA,CACA,eAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,mBAAA,CACA,kBAAA,CACA,kCAAA,CAGA,WAAA,CACA,qBAAA,CACA,0BAAA,CACA,QAAA,CAGA,qGACC,aAAA,CAID,+FACC,kBAAA,CACA,sBAAA,CACA,eAAA,CAOH,+IAEC,SAAA,CACA,6CAAA,CACA,gBAAA,CACA,+BAAA,CAEA,YAAA,CACA,kBAAA,CACA,kCAAA,CAGA,kSACC,cAAA,CAIF,yIAEC,gBAAA,CACA,+BAAA,CACA,mBAAA,CACA,kBAAA,CACA,UClGc,CDmGd,gBAjGe,CAmGf,SAAA,CAGD,yEACC,qBAAA,CACA,sBAAA,CACA,QAAA,CACA,SAAA,CACA,WAAA,CAGA,cAAA,CAEA,YAAA,CACA,WAAA,CACA,eAAA,CACA,oBAAA,CACA,kCAAA,CAQD,0EACC,oBAAA,CACA,sBAAA,CAEA,2DAAA,CACA,wBAAA,CAID,qEACC,YAAA,CAKF,2DACC,iBAAA,CACA,UAAA,CACA,eAAA,CACA,yCAAA,CACA,uCAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,2DAAA,CACA,iFACC,UAAA,CACA,SAAA,CAED,8DACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,8BAAA,CACA,iIAEC,cAAA,CAED,mEACC,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CACA,cAAA,CACA,0BAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,8BAAA,CACA,+BAAA,CACA,UAAA,CAEA,2EACC,WAAA,CACA,2BAAA,CACA,0BAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,UC/Lc,CDgMd,gBAAA,CACA,iBAAA,CAED,iGACC,6CAAA,CACA,UCrMc,CDuMf,kGACC,4BAAA,CACA,6CAAA,CAED,qHACC,UAAA,CAIA,8NACC,kBAAA,CAOL,8EACC,WAAA,CACA,kBAAA,CAMA,sEACC,cAAA,CAIA,iGACC,2CAAA,CAMA,qHACC,qCAAA,CACA,kBAAA,CAOJ,+FACC,YAAA,CAMA,6IACC,4BAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n// scoping is not working inside the Multiselect.vue component\n// as the nested properties are not inside it\n// Therefore we need to use an external scoping\n.multiselect[data-v-#{$scope_version}] {\n\tmargin: 0;\n\tpadding: 0 !important;\n\tdisplay: inline-block;\n\t/* override this rule with your width styling if you need */\n\tmin-width: 260px;\n\tposition: relative;\n\n\t/* Force single multiselect value to be shown when not active */\n\t&:not(.multiselect--active) .multiselect__single {\n\t\twidth: 100%;\n\t\tz-index: 2 !important;\n\t}\n\n\t// Remove radius on top opening\n\t&.multiselect--active.multiselect--above {\n\t\tinput.multiselect__input {\n\t\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t}\n\t}\n\n\t// disabled state background\n\t&.multiselect--disabled,\n\t&.multiselect--disabled .multiselect__single {\n\t\tbackground-color: var(--color-background-dark) !important;\n\t}\n\n\t// loading state\n\t.loading-icon {\n\t\tposition: absolute;\n\t\tright: 1px;\n\t\ttop: 1px;\n\t\twidth: 48px;\n\t\theight: 35px;\n\t\tbackground: var(--color-main-background);\n\t\tz-index: 3;\n\t}\n\n\t// multiple selected options display\n\t.multiselect__tags {\n\t\t/* space between tags and limit tag */\n\t\t$space-between: 5px;\n\t\tdisplay: flex;\n\t\tflex-wrap: nowrap;\n\t\toverflow: hidden;\n\t\tborder: 2px solid var(--color-border-dark);\n\t\tcursor: pointer;\n\t\tposition: relative;\n\t\tborder-radius: var(--border-radius-large);\n\t\tmin-height: 44px;\n\t\theight: 44px;\n\t\tpadding: 8px 12px !important;\n\t\tbackground-color: var(--color-main-background);\n\t\tbox-sizing: border-box;\n\n\t\t&:focus, &:hover {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\n\t\t/* tag wrapper */\n\t\t.multiselect__tags-wrap {\n\t\t\talign-items: center;\n\t\t\tdisplay: inline-flex;\n\t\t\toverflow: hidden;\n\t\t\tmax-width: 100%;\n\t\t\tposition: relative;\n\t\t\tgap: $space-between;\n\t\t\tflex: 1 1;\n\t\t\tflex-wrap: nowrap;\n\t\t\t/* no tags or simple select? Show input directly\n\t\t\tinput is used to display single value */\n\t\t\t&:empty ~ input.multiselect__input {\n\t\t\t\topacity: $opacity_full !important;\n\t\t\t\tdisplay: block !important;\n\t\t\t\t/* hide default empty text like .multiselect__placeholder,\n\t\t\t\tand show input instead. It looks better without a transition between\n\t\t\t\ta span and the input that have different styling */\n\t\t\t\t+ span:not(.multiselect__single) {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\t/* selected tag */\n\t\t\t.multiselect__tag {\n\t\t\t\tline-height: 20px;\n\t\t\t\tpadding: 2px 5px;\n\t\t\t\tbackground-image: none;\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tborder-radius: var(--border-radius);\n\t\t\t\t/* require to override the default width\n\t\t\t\tand force the tag to shring properly */\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: fit-content;\n\t\t\t\tmax-width: -moz-fit-content;\n\t\t\t\tmargin: 0;\n\t\t\t\t/* css hack, detect if more than two tags\n\t\t\t\tif so, flex-basis is set to half */\n\t\t\t\t&:only-child {\n\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t}\n\t\t\t\t/* ellipsis the groups to be sure\n\t\t\t\twe display at least two of them */\n\t\t\t\t> span {\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Single select default value\n\t\tor default placeholder if search disabled*/\n\t\t.multiselect__single,\n\t\t.multiselect__placeholder {\n\t\t\tz-index: 1; /* above input */\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\n\t\t\tcolor: var(--color-text-lighter); // like the input\n\t\t\t// Align content and make the flow smoother\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tfont-size: var(--default-font-size);\n\n\t\t\t// Anything inside will trigger the select opening\n\t\t\t&, * {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t\t/* displayed text if tag limit reached */\n\t\t.multiselect__strong,\n\t\t.multiselect__limit {\n\t\t\tline-height: 20px;\n\t\t\tcolor: var(--color-text-lighter);\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\topacity: $opacity_normal;\n\t\t\tmargin-right: $space-between;\n\t\t\t/* above the input */\n\t\t\tz-index: 5;\n\t\t}\n\t\t/* default multiselect input for search and placeholder */\n\t\tinput.multiselect__input {\n\t\t\twidth: 100% !important;\n\t\t\theight: auto !important;\n\t\t\tmargin: 0;\n\t\t\topacity: 0;\n\t\t\tborder: none;\n\t\t\t/* override hide to force show the placeholder */\n\t\t\t/* only when not active */\n\t\t\tcursor: pointer;\n\t\t\t/* override inline styling of the lib */\n\t\t\tdisplay: none;\n\t\t\theight: 40px;\n\t\t\tmin-height: 26px;\n\t\t\tpadding: 0 !important;\n\t\t\tfont-size: var(--default-font-size);\n\t\t}\n\t}\n\n\t// active state, force the input to be shown, we don't want\n\t// the placeholder or the currently selected options\n\t&.multiselect--active {\n\t\t/* Opened: force display the input */\n\t\tinput.multiselect__input {\n\t\t\topacity: $opacity_full !important;\n\t\t\tcursor: text !important;\n\t\t\t// remove border radius on bottom opening\n\t\t\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t/* multiselect__limit hidden if active */\n\t\t.multiselect__limit {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* results wrapper */\n\t.multiselect__content-wrapper {\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\tmargin-top: -1px;\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tbackground: var(--color-main-background);\n\t\tz-index: 50;\n\t\tmax-height: 250px;\n\t\toverflow-y: auto;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t.multiselect__content {\n\t\t\twidth: 100%;\n\t\t\tpadding: 0;\n\t\t}\n\t\tli {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tbackground-color: transparent;\n\t\t\t&,\n\t\t\tspan {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t> span {\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tmargin: 0;\n\t\t\t\theight: auto;\n\t\t\t\tmin-height: 1em;\n\t\t\t\t-webkit-touch-callout: none;\n\t\t\t\t-webkit-user-select: none;\n\t\t\t\t-moz-user-select: none;\n\t\t\t\t-ms-user-select: none;\n\t\t\t\tuser-select: none;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tcolor: var(--color-text-lighter);\n\t\t\t\twidth: 100%;\n\t\t\t\t/* selected checkmark icon */\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t\tbackground-position: center;\n\t\t\t\t\tmin-width: 16px;\n\t\t\t\t\tmin-height: 16px;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--disabled {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--highlight {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t\t&:not(.multiselect__option--disabled):hover::before {\n\t\t\t\t\topacity: .3;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--selected,\n\t\t\t\t&:not(.multiselect__option--disabled):hover {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tvisibility: visible;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t/* ABOVE display */\n\t&.multiselect--above .multiselect__content-wrapper {\n\t\tbottom: 100%;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t/* Icon before option select */\n\t&.multiselect--multiple {\n\t\t// push the input after the tag list\n\t\t.multiselect__tags {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t.multiselect__content-wrapper li > span {\n\t\t\t&::before {\n\t\t\t\tbackground-image: var(--icon-checkmark-dark);\n\t\t\t}\n\n\t\t\t/* add the prop tag-placeholder=\"create\" to add the +\n\t\t\ticon on top of an unknown-and-ready-to-be-created entry */\n\t\t\t&[data-select='create'] {\n\t\t\t\t&::before {\n\t\t\t\t\tbackground-image: var(--icon-add-dark);\n\t\t\t\t\tvisibility: visible;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* No need for an icon here */\n\t&.multiselect--single .multiselect__content-wrapper li > span::before {\n\t\tdisplay: none;\n\t}\n\n\t/* Mouse feedback */\n\t&:hover,\n\tinput.multiselect__input {\n\t\t.multiselect__placeholder {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=r},8384:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding: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))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__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)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/directives/Tooltip/index.scss"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCSA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ \n* @copyright Copyright (c) 2016, Robin Appelman \n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \n* @copyright Copyright (c) 2016, Erik Pellikka \n* @copyright Copyright (c) 2015, Vincent Petry \n*\n* Bootstrap (http://getbootstrap.com)\n* SCSS copied from version 3.3.5\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.v-popper--theme-tooltip {\n\t&.v-popper__popper {\n\t\tposition: absolute;\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tright: auto;\n\t\tleft: auto;\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\ttext-align: left;\n\t\ttext-align: start;\n\t\topacity: 0;\n\t\tline-height: 1.6;\n\n\t\tline-break: auto;\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t// TOP\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t// BOTTOM\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t// RIGHT\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tright: 100%;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t// LEFT\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tleft: 100%;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t// HIDDEN / SHOWN\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity .15s, visibility .15s;\n\t\t\topacity: 0;\n\t\t}\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity .15s;\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t// CONTENT\n\t.v-popper__inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.v-popper__arrow-container {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: $arrow-width;\n\t}\n}\n"],sourceRoot:""}]);const s=r},9886:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-657486e3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-657486e3]{display:flex;align-items:center}.action-items>button[data-v-657486e3]{margin-right:7px}.action-item[data-v-657486e3]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-657486e3]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-657486e3]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-657486e3]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-657486e3]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-657486e3]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-657486e3]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-657486e3]{background-color:var(--open-background-color)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// Inline buttons\n.action-items {\n\tdisplay: flex;\n\talign-items: center;\n\n\t// Spacing between buttons\n\t& > button {\n\t\tmargin-right: math.div($icon-margin, 2);\n\t}\n}\n\n.action-item {\n\t--open-background-color: var(--color-background-hover, $action-background-hover);\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--primary {\n\t\t--open-background-color: var(--color-primary-element-hover);\n\t}\n\n\t&.action-item--secondary {\n\t\t--open-background-color: var(--color-primary-element-light-hover);\n\t}\n\n\t&.action-item--error {\n\t\t--open-background-color: var(--color-error-hover);\n\t}\n\n\t&.action-item--warning {\n\t\t--open-background-color: var(--color-warning-hover);\n\t}\n\n\t&.action-item--success {\n\t\t--open-background-color: var(--color-success-hover);\n\t}\n\n\t&.action-item--tertiary-no-background {\n\t\t--open-background-color: transparent;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\tbackground-color: var(--open-background-color);\n\t}\n}\n"],sourceRoot:""}]);const s=r},4214:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\toverflow:hidden;\n\n\t.v-popper__inner {\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 4px;\n\t\tmax-height: calc(50vh - 16px);\n\t\toverflow: auto;\n\t}\n}\n"],sourceRoot:""}]);const s=r},4343:(t,e,n)=>{"use strict";n.d(e,{Z:()=>g});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),d=new URL(n(2605),n.b),A=new URL(n(7127),n.b),u=r()(a()),p=l()(c),m=l()(d),h=l()(A);u.push([t.id,".material-design-icon[data-v-b1ea54bc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-b1ea54bc]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-b1ea54bc]{position:relative;background-color:var(--color-main-background);white-space:normal}.avatardiv[data-v-b1ea54bc]:not(.avatardiv--unknown){background-color:var(--color-main-background) !important;box-shadow:0 0 5px rgba(0,0,0,.05) inset}.avatardiv--with-menu[data-v-b1ea54bc]{cursor:pointer}.avatardiv--with-menu[data-v-b1ea54bc] .v-popper{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-b1ea54bc]{cursor:pointer;opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-b1ea54bc],.avatardiv--with-menu:hover .icon-more[data-v-b1ea54bc]{opacity:1}.avatardiv--with-menu:focus img[data-v-b1ea54bc],.avatardiv--with-menu:hover img[data-v-b1ea54bc]{opacity:.3}.avatardiv--with-menu .icon-more[data-v-b1ea54bc],.avatardiv--with-menu img[data-v-b1ea54bc]{transition:opacity var(--animation-quick)}.avatardiv .avatardiv__initials-wrapper[data-v-b1ea54bc]{height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:50%}.avatardiv .avatardiv__initials-wrapper .unknown[data-v-b1ea54bc]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal}.avatardiv img[data-v-b1ea54bc]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-b1ea54bc]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-b1ea54bc]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;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-b1ea54bc]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-b1ea54bc]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--online[data-v-b1ea54bc]{background-image:url("+p+")}.avatardiv .avatardiv__user-status--dnd[data-v-b1ea54bc]{background-image:url("+m+");background-color:#fff}.avatardiv .avatardiv__user-status--away[data-v-b1ea54bc]{background-image:url("+h+")}.avatardiv .avatardiv__user-status--icon[data-v-b1ea54bc]{border:none;background-color:rgba(0,0,0,0)}.avatardiv .popovermenu-wrapper[data-v-b1ea54bc]{position:relative;display:inline-block}.avatar-class-icon[data-v-b1ea54bc]{border-radius:50%;background-color:var(--color-background-darker);height:100%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAvatar/NcAvatar.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4BACC,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,qCACC,iBAAA,CACA,6CAAA,CACA,kBAAA,CAGD,qDAEC,wDAAA,CACA,wCAAA,CAGD,uCACC,cAAA,CACA,iDACC,iBAAA,CACA,KAAA,CACA,MAAA,CAED,kDACC,cAAA,CACA,SAAA,CAIA,gHACC,SAAA,CAED,kGACC,UAAA,CAGF,6FAEC,yCAAA,CAIF,yDACC,kBAAA,CACA,iBAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kEACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CAIF,gCAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CAGD,kDACC,iBAAA,CACA,kBAAA,CAGD,oDACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,SAAA,CACA,gBAAA,CACA,kCAAA,CACA,6CAAA,CACA,6CAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,gEACC,0CAAA,CACA,8CAAA,CAED,iEACC,+CAAA,CACA,mDAAA,CAGD,4DACC,wDAAA,CAED,yDACC,wDAAA,CACA,qBAAA,CAED,0DACC,wDAAA,CAED,0DACC,WAAA,CACA,8BAAA,CAIF,iDACC,iBAAA,CACA,oBAAA,CAIF,oCACC,iBAAA,CACA,+CAAA,CACA,WAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-main-background);\n\t\twhite-space: normal;\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White/black background for avatars with transparency\n\t\tbackground-color: var(--color-main-background) !important;\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t:deep(.v-popper) {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more {\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t.avatardiv__initials-wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.unknown {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.material-design-icon {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tmax-height: 18px;\n\t\tmax-width: 18px;\n\t\theight: 40%;\n\t\twidth: 40%;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n"],sourceRoot:""}]);const g=u},4466:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-4c8c7bff]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-4c8c7bff]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-4c8c7bff],.button-vue span[data-v-4c8c7bff]{cursor:pointer}.button-vue[data-v-4c8c7bff]:focus{outline:none}.button-vue[data-v-4c8c7bff]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-4c8c7bff]{cursor:default}.button-vue[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-4c8c7bff]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-4c8c7bff]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-4c8c7bff]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-4c8c7bff]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-4c8c7bff]{width:44px !important}.button-vue--text-only[data-v-4c8c7bff]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-4c8c7bff]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-4c8c7bff]{padding:0 16px 0 4px}.button-vue--wide[data-v-4c8c7bff]{width:100%}.button-vue[data-v-4c8c7bff]:focus-visible{outline:2px solid var(--color-main-text) !important;box-shadow:0 0 0 4px var(--color-main-background) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-4c8c7bff]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-4c8c7bff]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-4c8c7bff]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-4c8c7bff]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-4c8c7bff]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-4c8c7bff]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-4c8c7bff]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-4c8c7bff]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-4c8c7bff]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-4c8c7bff]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-4c8c7bff]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-4c8c7bff]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-4c8c7bff]:active{background-color:var(--color-error)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcButton/NcButton.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,4DAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=r},436:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-3daafbe0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-3daafbe0]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-3daafbe0]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-3daafbe0],.name-parts__last[data-v-3daafbe0]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-3daafbe0],.name-parts__last strong[data-v-3daafbe0]{font-weight:bold}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcEllipsisedOption/NcEllipsisedOption.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,YAAA,CACA,cAAA,CACA,cAAA,CACA,oCACC,eAAA,CACA,sBAAA,CAED,uEAGC,eAAA,CACA,cAAA,CACA,qFACC,gBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\tcursor: inherit;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tcursor: inherit;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=r},635:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-957b98b0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-957b98b0]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.modal-wrapper .empty-content[data-v-957b98b0]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-957b98b0]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-957b98b0] svg{width:64px;height:64px;max-width:64px;max-height:64px}.empty-content__title[data-v-957b98b0]{margin-bottom:10px;text-align:center}.empty-content__action[data-v-957b98b0]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-957b98b0]{margin-top:20px;display:flex}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcEmptyContent/NcEmptyContent.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,eAAA,CAEA,+CACC,cAAA,CACA,iBAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,UAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,0CACC,UAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CAIF,uCACC,kBAAA,CACA,iBAAA,CAGD,wCACC,cAAA,CAEA,uDACC,eAAA,CACA,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.empty-content {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n\tmargin-top: 20vh;\n\n\t.modal-wrapper & {\n\t\tmargin-top: 5vh;\n\t\tmargin-bottom: 5vh;\n\t}\n\n\t&__icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 64px;\n\t\theight: 64px;\n\t\tmargin: 0 auto 15px;\n\t\topacity: .4;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: 64px;\n\n\t\t:deep(svg) {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\t\t\tmax-width: 64px;\n\t\t\tmax-height: 64px;\n\t\t}\n\t}\n\n\t&__title {\n\t\tmargin-bottom: 10px;\n\t\ttext-align: center;\n\t}\n\n\t&__action {\n\t\tmargin-top: 8px;\n\n\t\t.modal-wrapper & {\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=r},8973:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-a3da3488]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-a3da3488]{display:flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;opacity:1}.icon-vue[data-v-a3da3488] svg{fill:currentColor;max-width:20px;max-height:20px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,cAAA,CACA,eAAA,CACA,SAAA,CAEA,+BACC,iBAAA,CACA,cAAA,CACA,eAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.icon-vue {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-width: 44px;\n\tmin-height: 44px;\n\topacity: 1;\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\tmax-width: 20px;\n\t\tmax-height: 20px;\n\t}\n}\n"],sourceRoot:""}]);const s=r},4326:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-474d33a2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-474d33a2]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-474d33a2]{height:36px;position:relative}.input-field__input[data-v-474d33a2]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-474d33a2]:active:not([disabled]),.input-field__input[data-v-474d33a2]:hover:not([disabled]),.input-field__input[data-v-474d33a2]:focus:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-474d33a2]:focus{cursor:text}.input-field__input[data-v-474d33a2]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-474d33a2]{border-color:var(--color-success) !important}.input-field__input--success[data-v-474d33a2]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-474d33a2]{border-color:var(--color-error) !important}.input-field__input--error[data-v-474d33a2]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-474d33a2]{padding-left:28px}.input-field__input--trailing-icon[data-v-474d33a2]{padding-right:28px}.input-field__label[data-v-474d33a2]{padding:4px 0;display:block}.input-field__label--hidden[data-v-474d33a2]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-474d33a2]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-474d33a2]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-474d33a2]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-474d33a2]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-474d33a2]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-474d33a2]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-474d33a2]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-474d33a2]{color:var(--color-success)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcInputField/NcInputField.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,gDAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,kLAGC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.input-field {\n\tposition: relative;\n\twidth: 100%;\n\tborder-radius: var(--border-radius-large);\n\n\t&__main-wrapper {\n\t\theight: 36px;\n\t\tposition: relative;\n\t}\n\n\t&__input {\n\t\tmargin: 0;\n\t\tpadding: 0 12px;\n\t\tfont-size: var(--default-font-size);\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\theight: 36px !important;\n\t\tborder-radius: var(--border-radius-large);\n\t\ttext-overflow: ellipsis;\n\t\tcursor: pointer;\n\t\twidth: 100%;\n\t\t-webkit-appearance: textfield !important;\n\t\t-moz-appearance: textfield !important;\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--success {\n\t\t\tborder-color: var(--color-success) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\tborder-color: var(--color-error) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--leading-icon {\n\t\t\tpadding-left: 28px;\n\t\t}\n\n\t\t&--trailing-icon {\n\t\t\tpadding-right: 28px;\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tleft: -10000px;\n\t\t\ttop: auto;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tposition: absolute;\n\t\theight: 32px;\n\t\twidth: 32px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: 0.7;\n\t\t&--leading {\n\t\t\tbottom: 2px;\n\t\t\tleft: 2px;\n\t\t}\n\n\t\t&--trailing {\n\t\t\tbottom: 2px;\n\t\t\tright: 2px;\n\t\t}\n\t}\n\n\t&__clear-button.button-vue {\n\t\tposition: absolute;\n\t\ttop: 2px;\n\t\tright: 1px;\n\t\tmin-width: unset;\n\t\tmin-height: unset;\n\t\theight: 32px;\n\t\twidth: 32px !important;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success);\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=r},808:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-4f3daf70]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-4f3daf70]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-4f3daf70]{margin-right:var(--margin)}.option__details[data-v-4f3daf70]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-4f3daf70]{color:var(--color-main-text)}.option__linetwo[data-v-4f3daf70]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-4f3daf70],.option__linetwo strong[data-v-4f3daf70]{font-weight:bold}.option__icon[data-v-4f3daf70]{width:44px;height:44px;color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-4f3daf70]{flex:0 0 44px;opacity:.7;background-position:center;background-size:16px}.option__details[data-v-4f3daf70],.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70],.option__icon[data-v-4f3daf70]{cursor:inherit}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcListItemIcon/NcListItemIcon.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,UAAA,CACA,oBAAA,CACA,cAAA,CAEA,iCACC,0BAAA,CAGD,kCACC,YAAA,CACA,QAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAGD,kCACC,4BAAA,CAGD,kCACC,mCAAA,CAGD,oEAEC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,kFACC,gBAAA,CAIF,+BACC,UChBe,CDiBf,WCjBe,CDkBf,mCAAA,CACA,oCACC,aAAA,CACA,UCHc,CDId,0BAAA,CACA,oBAAA,CAIF,qIAIC,cAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\tcursor: inherit;\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-main-text);\n\t}\n\n\t&__linetwo {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\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\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t&.icon {\n\t\t\tflex: 0 0 $clickable-area;\n\t\t\topacity: $opacity_normal;\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: 16px;\n\t\t}\n\t}\n\n\t&__details,\n\t&__lineone,\n\t&__linetwo,\n\t&__icon {\n\t\tcursor: inherit;\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=r},5030:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-c4a9cada]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-c4a9cada]{animation:rotate var(--animation-duration, 0.8s) linear infinite}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcLoadingIcon/NcLoadingIcon.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,gEAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.loading-icon svg{\n\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\n}\n"],sourceRoot:""}]);const s=r},4274:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,'.material-design-icon[data-v-09b21bad]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-09b21bad]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-09b21bad]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-09b21bad]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;overflow:hidden;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*="display:none"][data-v-09b21bad],.modal-header.invisible[style*="display: none"][data-v-09b21bad]{visibility:hidden}.modal-header .modal-title[data-v-09b21bad]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px;margin-bottom:0}@media only screen and (min-width: 1024px){.modal-header .modal-title[data-v-09b21bad]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-09b21bad]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-09b21bad]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-09b21bad]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-09b21bad]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-09b21bad],.modal-header .icons-menu .play-pause-icons__pause[data-v-09b21bad]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-09b21bad]{color:#fff}.modal-header .icons-menu[data-v-09b21bad] .action-item{margin:3px}.modal-header .icons-menu[data-v-09b21bad] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-09b21bad] button{color:#fff}.modal-header .icons-menu[data-v-09b21bad] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-09b21bad] .action-item__menutoggle span,.modal-header .icons-menu[data-v-09b21bad] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-09b21bad]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-09b21bad],.modal-wrapper .next[data-v-09b21bad]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-element-text)}.modal-wrapper .prev[data-v-09b21bad]:focus-visible,.modal-wrapper .next[data-v-09b21bad]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*="display:none"][data-v-09b21bad],.modal-wrapper .prev.invisible[style*="display: none"][data-v-09b21bad],.modal-wrapper .next.invisible[style*="display:none"][data-v-09b21bad],.modal-wrapper .next.invisible[style*="display: none"][data-v-09b21bad]{visibility:hidden}.modal-wrapper .prev[data-v-09b21bad]{left:2px}.modal-wrapper .next[data-v-09b21bad]{right:2px}.modal-wrapper .modal-container[data-v-09b21bad]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-09b21bad]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-09b21bad]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-09b21bad]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-09b21bad]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-09b21bad]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-09b21bad]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-09b21bad],.fade-leave-active[data-v-09b21bad]{transition:opacity 250ms}.fade-enter[data-v-09b21bad],.fade-leave-to[data-v-09b21bad]{opacity:0}.fade-visibility-enter[data-v-09b21bad],.fade-visibility-leave-to[data-v-09b21bad]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-09b21bad],.modal-in-leave-active[data-v-09b21bad],.modal-out-enter-active[data-v-09b21bad],.modal-out-leave-active[data-v-09b21bad]{transition:opacity 250ms}.modal-in-enter[data-v-09b21bad],.modal-in-leave-to[data-v-09b21bad],.modal-out-enter[data-v-09b21bad],.modal-out-leave-to[data-v-09b21bad]{opacity:0}.modal-in-enter .modal-container[data-v-09b21bad],.modal-in-leave-to .modal-container[data-v-09b21bad]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-09b21bad],.modal-out-leave-to .modal-container[data-v-09b21bad]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-09b21bad]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-09b21bad]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-09b21bad linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-09b21bad]{animation:breath-09b21bad 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-09b21bad]{animation-play-state:paused !important}@keyframes progressring-09b21bad{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-09b21bad{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcModal/NcModal.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,eAAA,CACA,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cChBY,CDiBZ,eAAA,CAID,2CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UC3Ba,CD4Bb,WC5Ba,CD6Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC9CU,CD+CV,kBAAA,CACA,sCCxDW,CD2Db,uIAEC,qBAAA,CACA,UCzEa,CD0Eb,WC1Ea,CD2Eb,UAAA,CACA,cAAA,CACA,UC3Da,CD+Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UC1Fa,CD2Fb,WC3Fa,CD4Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,uCAAA,CAEA,wGAEC,sDAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC7Ka,CD8Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC1La,CD2Lb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.modal-mask {\n\tposition: fixed;\n\tz-index: 9998;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, .5);\n\t&--dark {\n\t\tbackground-color: rgba(0, 0, 0, .92);\n\t}\n}\n\n.modal-header {\n\tposition: absolute;\n\tz-index: 10001;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\t// prevent vue show to use display:none and reseting\n\t// the circle animation loop\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\theight: $header-height;\n\toverflow: hidden;\n\ttransition: opacity 250ms,\n\t\tvisibility 250ms;\n\n\t// replace display by visibility\n\t&.invisible[style*='display:none'],\n\t&.invisible[style*='display: none'] {\n\t\tvisibility: hidden;\n\t}\n\n\t.modal-title {\n\t\toverflow-x: hidden;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\n\t\ttransition: padding ease 100ms;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: #fff;\n\t\tfont-size: $icon-margin;\n\t\tmargin-bottom: 0;\n\t}\n\n\t// On wider screens the title can be centered\n\t@media only screen and (min-width: $breakpoint-mobile) {\n\t\t.modal-title {\n\t\t\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.icons-menu {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\t.header-close {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.play-pause-icons {\n\t\t\tposition: relative;\n\t\t\twidth: $header-height;\n\t\t\theight: $header-height;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.play-pause-icons__play,\n\t\t\t\t.play-pause-icons__pause {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t\t\t\tbackground-color: $icon-focus-bg;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__play,\n\t\t\t&__pause {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\t\t\t\tcursor: pointer;\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t}\n\n\t\t.header-actions {\n\t\t\tcolor: white;\n\t\t}\n\n\t\t&:deep() .action-item {\n\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\n\t\t\t&--single {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-size: 22px;\n\t\t\t}\n\t\t}\n\n\t\t:deep(button) {\n\t\t\t// force white instead of default main text\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t// Force the Actions menu icon to be the same size as other icons\n\t\t&:deep(.action-item__menutoggle) {\n\t\t\tpadding: 0;\n\t\t\tspan, svg {\n\t\t\t\twidth: var(--icon-size);\n\t\t\t\theight: var(--icon-size);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.modal-wrapper {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\n\t/* Navigation buttons */\n\t.prev,\n\t.next {\n\t\tz-index: 10000;\n\t\t// ignore display: none\n\t\tdisplay: flex !important;\n\t\theight: 35vw;\n\t\tposition: absolute;\n\t\ttransition: opacity 250ms,\n\t\t\tvisibility 250ms;\n\t\tcolor: var(--color-primary-element-text);\n\n\t\t&:focus-visible {\n\t\t\t// Override NcButton focus styles\n\t\t\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-box-shadow);\n\t\t}\n\n\t\t// we want to keep the elements on page\n\t\t// even if hidden to avoid having a unbalanced\n\t\t// centered content\n\t\t// replace display by visibility\n\t\t&.invisible[style*='display:none'],\n\t\t&.invisible[style*='display: none'] {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\t.prev {\n\t\tleft: 2px;\n\t}\n\t.next {\n\t\tright: 2px;\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tposition: relative;\n\t\tdisplay: block;\n\t\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\n\t\tpadding: 0;\n\t\ttransition: transform 300ms ease;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\t\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\n\t\t&__close {\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tright: 4px;\n\t\t}\n\t}\n\n\t// Sizing\n\t&--small {\n\t\t.modal-container {\n\t\t\twidth: 400px;\n\t\t\tmax-width: 90%;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--normal {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 600px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--large {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 900px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--full {\n\t\t.modal-container {\n\t\t\twidth: 100%;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t// Make modal full screen on mobile\n\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\n\t\t.modal-container {\n\t\t\tmax-width: initial;\n\t\t\twidth: 100%;\n\t\t\tmax-height: initial;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n/* TRANSITIONS */\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-visibility-enter,\n.fade-visibility-leave-to {\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.modal-in-enter-active,\n.modal-in-leave-active,\n.modal-out-enter-active,\n.modal-out-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.modal-in-enter,\n.modal-in-leave-to,\n.modal-out-enter,\n.modal-out-leave-to {\n\topacity: 0;\n}\n\n.modal-in-enter .modal-container,\n.modal-in-leave-to .modal-container {\n\ttransform: scale(.9);\n}\n\n.modal-out-enter .modal-container,\n.modal-out-leave-to .modal-container {\n\ttransform: scale(1.1);\n}\n\n// animated circle\n$radius: 15;\n$pi: 3.14159265358979;\n\n.modal-mask .play-pause-icons {\n\t.progress-ring {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\ttransform: rotate(-90deg);\n\t\t.progress-ring__circle {\n\t\t\ttransition: 100ms stroke-dashoffset;\n\t\t\ttransform-origin: 50% 50%; // axis compensation\n\t\t\tanimation: progressring linear var(--slideshow-duration) infinite;\n\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t\t\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\n\t\t}\n\t}\n\t&--paused {\n\t\t.icon-pause {\n\t\t\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\n\t\t}\n\t\t.progress-ring__circle {\n\t\t\tanimation-play-state: paused !important;\n\t\t}\n\t}\n}\n\n// keyframes get scoped too and break the animation name, we need them unscoped\n@keyframes progressring {\n\tfrom {\n\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t}\n\tto {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes breath {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=r},1625:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius-large);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopover/NcPopover.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,wCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=r},2:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-31ffd2d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-31ffd2d4]{display:flex;flex-direction:column;gap:4px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopoverMenu/NcPopoverMenu.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,qBAAA,CACA,OAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n}\n"],sourceRoot:""}]);const s=r},408:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,'.material-design-icon[data-v-127b0c62]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-127b0c62]{display:flex;flex:0 0 auto}li.hidden[data-v-127b0c62]{display:none}li>button[data-v-127b0c62],li>a[data-v-127b0c62],li>.menuitem[data-v-127b0c62]{cursor:pointer;line-height:44px;border:0;background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=" icon-"][data-v-127b0c62],li>button[class^=icon-][data-v-127b0c62],li>button[class*=" icon-"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=" icon-"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=" icon-"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=" icon-"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=" icon-"][data-v-127b0c62]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=" icon-"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=" icon-"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=" icon-"][data-v-127b0c62]{padding:22px 0 22px 44px}li>button:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child{margin-left:44px}li>button[class^=icon-][data-v-127b0c62],li>button[class*=" icon-"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=" icon-"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=" icon-"][data-v-127b0c62]{padding:0 14px 0 44px}li>button[data-v-127b0c62]:not(:disabled):hover,li>button[data-v-127b0c62]:not(:disabled):focus,li>button:not(:disabled).active[data-v-127b0c62],li>a[data-v-127b0c62]:not(:disabled):hover,li>a[data-v-127b0c62]:not(:disabled):focus,li>a:not(:disabled).active[data-v-127b0c62],li>.menuitem[data-v-127b0c62]:not(:disabled):hover,li>.menuitem[data-v-127b0c62]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-127b0c62]{opacity:1 !important}li>button.action[data-v-127b0c62],li>a.action[data-v-127b0c62],li>.menuitem.action[data-v-127b0c62]{padding:inherit !important}li>button>span[data-v-127b0c62],li>a>span[data-v-127b0c62],li>.menuitem>span[data-v-127b0c62]{cursor:pointer;white-space:nowrap}li>button>p[data-v-127b0c62],li>a>p[data-v-127b0c62],li>.menuitem>p[data-v-127b0c62]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-127b0c62],li>a>select[data-v-127b0c62],li>.menuitem>select[data-v-127b0c62]{margin:0;margin-left:6px}li>button[data-v-127b0c62]:not(:empty),li>a[data-v-127b0c62]:not(:empty),li>.menuitem[data-v-127b0c62]:not(:empty){padding-right:14px !important}li>button>img[data-v-127b0c62],li>a>img[data-v-127b0c62],li>.menuitem>img[data-v-127b0c62]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-127b0c62],li>button>input.checkbox+label[data-v-127b0c62],li>a>input.radio+label[data-v-127b0c62],li>a>input.checkbox+label[data-v-127b0c62],li>.menuitem>input.radio+label[data-v-127b0c62],li>.menuitem>input.checkbox+label[data-v-127b0c62]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-127b0c62]::before,li>a>input.checkbox+label[data-v-127b0c62]::before,li>.menuitem>input.checkbox+label[data-v-127b0c62]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-127b0c62]::before,li>a>input.radio+label[data-v-127b0c62]::before,li>.menuitem>input.radio+label[data-v-127b0c62]::before{margin:-2px 12px 0}li>button>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-127b0c62],li>a form[data-v-127b0c62],li>.menuitem form[data-v-127b0c62]{display:flex;flex:1 1 auto}li>button form[data-v-127b0c62]:not(:first-child),li>a form[data-v-127b0c62]:not(:first-child),li>.menuitem form[data-v-127b0c62]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-127b0c62],li>button>span[style*="display:none"]+form[data-v-127b0c62],li>a>span.hidden+form[data-v-127b0c62],li>a>span[style*="display:none"]+form[data-v-127b0c62],li>.menuitem>span.hidden+form[data-v-127b0c62],li>.menuitem>span[style*="display:none"]+form[data-v-127b0c62]{margin-left:0}li>button input[data-v-127b0c62],li>a input[data-v-127b0c62],li>.menuitem input[data-v-127b0c62]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-127b0c62]:not(:first-child),li>a input[data-v-127b0c62]:not(:first-child),li>.menuitem input[data-v-127b0c62]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*="display:none"]):first-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input[data-v-127b0c62]{margin-top:12px}li:not(.hidden):not([style*="display:none"]):last-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input[data-v-127b0c62]{margin-bottom:12px}li>button[data-v-127b0c62]{padding:0}li>button span[data-v-127b0c62]{opacity:1}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,aAAA,CAEA,2BACC,YAAA,CAGD,+EAGC,cAAA,CACA,gBCWe,CDVf,QAAA,CACA,8BAAA,CACA,YAAA,CACA,sBAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBAAA,CACA,eAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,UCgBe,CDbf,ohBAIC,WAAA,CACA,YAAA,CACA,+BAAA,CACA,oBCRS,CDWV,yRAIC,wBAAA,CAQC,ylCACC,gBC5BY,CDiCf,2PAEC,qBAAA,CAGD,6aAGC,oBAAA,CAID,oGACC,0BAAA,CAGD,8FACC,cAAA,CACA,kBAAA,CAID,qFACC,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CAGA,eAAA,CACA,sBAAA,CAID,oGACC,QAAA,CACA,eAAA,CAID,mHACC,6BAAA,CAKD,2FACC,UC5ES,CD6ET,WC7ES,CD8ET,WC1EW,CD8EZ,mRAEC,oBAAA,CACA,UAAA,CAED,sKACC,kBAAA,CAED,6JACC,kBAAA,CAED,4QACC,WAAA,CAID,8FACC,YAAA,CACA,aAAA,CAGA,oJACC,eAAA,CAIF,oTAEC,aAAA,CAGD,iGACC,cCtHc,CDuHd,eAAA,CACA,YAAA,CACA,aAAA,CAEA,uJACC,eAAA,CAUA,+gBACC,eAAA,CAMD,ygBACC,kBAAA,CAKJ,2BACC,SAAA,CACA,gCACC,SCnIY",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=r},6956:(t,e,n)=>{"use strict";n.d(e,{Z:()=>g});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),d=new URL(n(2605),n.b),A=new URL(n(7127),n.b),u=r()(a()),p=l()(c),m=l()(d),h=l()(A);u.push([t.id,".material-design-icon[data-v-800c95ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-800c95ae]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-800c95ae]{color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.highlight .autocomplete-result[data-v-800c95ae],.highlight .autocomplete-result *[data-v-800c95ae]{cursor:pointer}.autocomplete-result__icon[data-v-800c95ae]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-800c95ae]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-800c95ae]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-800c95ae]{background-image:url("+p+")}.autocomplete-result__status--dnd[data-v-800c95ae]{background-image:url("+m+");background-color:#fff}.autocomplete-result__status--away[data-v-800c95ae]{background-image:url("+h+")}.autocomplete-result__status--icon[data-v-800c95ae]{border:none;background-color:rgba(0,0,0,0)}.autocomplete-result__content[data-v-800c95ae]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-800c95ae],.autocomplete-result__subline[data-v-800c95ae]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-800c95ae]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcAutoCompleteResult.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,sCACC,YAAA,CACA,WCmBgB,CDlBhB,YALsB,CAOtB,iDACC,6CAAA,CACA,6CAAA,CACA,oGACC,cAAA,CAIF,4CACC,iBAAA,CACA,aAAA,CACA,UCKe,CDJf,cCIe,CDHf,WCGe,CDFf,kBCEe,CDDf,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CACA,yDACC,aAAA,CACA,qBAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,6CAAA,CACA,iBAAA,CACA,6CAAA,CACA,kCAAA,CACA,gBAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CAEA,sDACC,wDAAA,CAED,mDACC,wDAAA,CACA,qBAAA,CAED,oDACC,wDAAA,CAED,oDACC,WAAA,CACA,8BAAA,CAIF,+CACC,YAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAtEqB,CAyEtB,4FAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAGD,+CACC,mCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n$autocomplete-padding: 10px;\n\n.autocomplete-result {\n\tdisplay: flex;\n\theight: $clickable-area;\n\tpadding: $autocomplete-padding;\n\n\t.highlight & {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground: var(--color-primary-element-light);\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: $clickable-area;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tbox-sizing: border-box;\n\t\twidth: 18px;\n\t\theight: 18px;\n\t\tborder: 2px solid var(--color-main-background);\n\t\tborder-radius: 50%;\n\t\tbackground-color: var(--color-main-background);\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: 15px;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex: 1 1 100%;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t\tpadding-left: $autocomplete-padding;\n\t}\n\n\t&__title,\n\t&__subline {\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__subline {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const g=u},5594:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-8a961b36]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-8a961b36]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-8a961b36]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-8a961b36]{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-8a961b36]{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-8a961b36]{color:inherit;background-size:cover}.mention-bubble__title[data-v-8a961b36]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-8a961b36]::before{content:attr(title)}.mention-bubble__select[data-v-8a961b36]{position:absolute;z-index:-1;left:-1000px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,uCAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\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-element-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: math.div($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: math.div($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(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n"],sourceRoot:""}]);const s=r},9773:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-7dd318b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-7dd318b8]{overflow-y:auto;width:auto;margin:0;padding:8px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:2px solid var(--color-border-dark);border-radius:var(--border-radius-large);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-7dd318b8]:before{content:attr(placeholder);color:var(--color-text-maxcontrast);position:absolute}.rich-contenteditable__input[contenteditable=false][data-v-7dd318b8]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:rgba(0,0,0,0);color:var(--color-main-text);border-color:rgba(0,0,0,0);opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-7dd318b8]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-7dd318b8]{opacity:.5;color:var(--color-text-maxcontrast);border:2px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,eAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,WAAA,CACA,oBAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,wCAAA,CACA,YAAA,CACA,6CAAA,CACA,4BAAA,CACA,iBAAA,CACA,eCOgB,CDNhB,gBAAA,CAGA,4DACC,yBAAA,CACA,mCAAA,CACA,iBAAA,CAGD,iHACC,cAAA,CACA,8BAAA,CACA,4BAAA,CACA,0BAAA,CACA,SAAA,CACA,eAAA,CAGD,yDACC,gBAAA,CAEA,eAAA,CAGD,wDACC,UCFiB,CDGjB,mCAAA,CACA,+CAAA,CACA,kCAAA,CACA,6CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// Standalone styling, independent from server\n.rich-contenteditable__input {\n\toverflow-y: auto;\n\twidth: auto;\n\tmargin: 0;\n\tpadding: 8px;\n\tcursor: text;\n\twhite-space: pre-wrap;\n\tword-break: break-word;\n\tcolor: var(--color-main-text);\n\tborder: 2px solid var(--color-border-dark);\n\tborder-radius: var(--border-radius-large);\n\toutline: none;\n\tbackground-color: var(--color-main-background);\n\tfont-family: var(--font-face);\n\tfont-size: inherit;\n\tmin-height: $clickable-area;\n\tmax-height: $clickable-area * 5.5;\n\n\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\n\t&--empty:before {\n\t\tcontent: attr(placeholder);\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tposition: absolute;\n\t}\n\n\t&[contenteditable='false']:not(&--disabled) {\n\t\tcursor: default;\n\t\tbackground-color: transparent;\n\t\tcolor: var(--color-main-text);\n\t\tborder-color: transparent;\n\t\topacity: 1;\n\t\tborder-radius: 0;\n\t}\n\n\t&--multiline {\n\t\tmin-height: $clickable-area * 3;\n\t\t// No max for mutiline\n\t\tmax-height: none;\n\t}\n\n\t&--disabled {\n\t\topacity: $opacity_disabled;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tborder: 2px solid var(--color-background-darker);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=r},2929:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji,.tribute-container-link{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji,.tribute-container-link{min-width:200px;max-width:200px;padding:4px;max-height:192.5px !important}.tribute-container-emoji__item,.tribute-container-link__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child,.tribute-container-link__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji,.tribute-container-link__item__emoji{padding-right:8px}.tribute-container-emoji .highlight,.tribute-container-link .highlight{opacity:1;color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *,.tribute-container-link .highlight,.tribute-container-link .highlight *{cursor:pointer}.tribute-container-link{min-width:200px;max-width:300px}.tribute-container-link__item{display:flex;align-items:center}.tribute-container-link__item__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-link__item__icon{margin:auto 0;width:20px;height:20px;object-fit:contain;padding-right:8px;filter:var(--background-invert-if-dark)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oEACC,YAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAGA,gBAAA,CAEA,YAAA,CACA,4BAAA,CACA,kCAAA,CACA,uCAAA,CACA,4CAAA,CAGD,iDACC,eAAA,CACA,eAAA,CACA,WAAA,CAEA,6BAAA,CAEA,6DACC,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CAGA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,mFACC,eAAA,CAGD,2EACC,iBAAA,CAIF,uEACC,SAAA,CACA,6CAAA,CACA,6CAAA,CACA,kJACC,cAAA,CAKH,wBACC,eAAA,CACA,eAAA,CACA,8BACC,YAAA,CACA,kBAAA,CACA,qCACC,kBAAA,CACA,eAAA,CACA,sBAAA,CAED,oCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,iBAAA,CACA,uCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.tribute-container, .tribute-container-emoji, .tribute-container-link {\n\tz-index: 9000;\n\toverflow: auto;\n\tmin-width: 250px;\n\tmax-width: 300px;\n\t// Show maximum 4 entries and a half to show scroll\n\t// 44px + 10px padding\n\tmax-height: ($clickable-area + 20px) * 4.5;\n\t// Space it out a bit from the text\n\tmargin: 5px 0;\n\tcolor: var(--color-main-text);\n\tborder-radius: var(--border-radius);\n\tbackground: var(--color-main-background);\n\tbox-shadow: 0 1px 5px var(--color-box-shadow);\n}\n\n.tribute-container-emoji, .tribute-container-link {\n\tmin-width: 200px;\n\tmax-width: 200px;\n\tpadding: 4px;\n\t// Show maximum 5 entries and a half to show scroll\n\tmax-height: 35px * 5 + math.div(35px, 2) !important;\n\n\t&__item {\n\t\tborder-radius: 8px;\n\t\tpadding: 4px 8px;\n\t\tmargin-bottom: 4px;\n\t\topacity: 0.8;\n\t\tcursor: pointer;\n\n\t\t// Take care of long names\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t&__emoji {\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t.highlight {\n\t\topacity: 1;\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground: var(--color-primary-element-light);\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n.tribute-container-link {\n\tmin-width: 200px;\n\tmax-width: 300px;\n\t&__item {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\t&__label {\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\t\t&__icon {\n\t\t\tmargin: auto 0;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tobject-fit: contain;\n\t\t\tpadding-right: 8px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=r},122:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-36a4d5cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list.icon-loading[data-v-36a4d5cc]{min-height:44px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferenceList.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6CACC,eAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.widgets--list.icon-loading {\n\tmin-height: 44px;\n}\n"],sourceRoot:""}]);const s=r},9425:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-60e96d80]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}","",{version:3,sources:["webpack://./src/assets/material-icons.css"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA",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"],sourceRoot:""}]);const s=r},8883:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-50f3a10c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-50f3a10c]{width:100%;min-height:350px;padding:0 16px 16px 16px;display:flex;flex-direction:column}.provider-list--empty-content[data-v-50f3a10c]{margin-top:auto !important;margin-bottom:auto !important}.provider-list--select[data-v-50f3a10c]{width:100%}.provider-list--select .provider[data-v-50f3a10c]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-50f3a10c]{margin-right:8px}.provider-list--select .provider .provider-icon[data-v-50f3a10c]{width:20px;height:20px;object-fit:contain;margin-right:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-50f3a10c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcProviderList.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,UAAA,CACA,gBAAA,CACA,wBAAA,CACA,YAAA,CACA,qBAAA,CAEA,+CACC,0BAAA,CACA,6BAAA,CAGD,wCACC,UAAA,CAEA,kDACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,6DACC,gBAAA,CAGD,iEACC,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,uCAAA,CAGD,+DACC,eAAA,CACA,sBAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.provider-list {\n\twidth: 100%;\n\tmin-height: 350px;\n\tpadding: 0 16px 16px 16px;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&--empty-content {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t&--select {\n\t\twidth: 100%;\n\n\t\t.provider {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\theight: 28px;\n\t\t\toverflow: hidden;\n\n\t\t\t.link-icon {\n\t\t\t\tmargin-right: 8px;\n\t\t\t}\n\n\t\t\t.provider-icon {\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tobject-fit: contain;\n\t\t\t\tmargin-right: 8px;\n\t\t\t\tfilter: var(--background-invert-if-dark);\n\t\t\t}\n\n\t\t\t.option-text {\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=r},6068:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-2e61b91c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-2e61b91c]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto}.raw-link .input-wrapper[data-v-2e61b91c]{width:100%}.raw-link .reference-widget[data-v-2e61b91c]{display:flex}.raw-link--empty-content[data-v-2e61b91c]{margin-top:auto !important;margin-bottom:auto !important}.raw-link--empty-content .provider-icon[data-v-2e61b91c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-2e61b91c]{width:99%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,UAAA,CACA,gBAAA,CACA,YAAA,CACA,qBAAA,CACA,eAAA,CAEA,0CACC,UAAA,CAGD,6CACC,YAAA,CAGD,0CACC,0BAAA,CACA,6BAAA,CAEA,yDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAIF,kCACC,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.raw-link {\n\twidth: 100%;\n\tmin-height: 350px;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow-y: auto;\n\n\t.input-wrapper {\n\t\twidth: 100%;\n\t}\n\n\t.reference-widget {\n\t\tdisplay: flex;\n\t}\n\n\t&--empty-content {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\n\t\t.provider-icon {\n\t\t\twidth: 150px;\n\t\t\theight: 150px;\n\t\t\tobject-fit: contain;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n\n\t&--input {\n\t\twidth: 99%;\n\t}\n}\n"],sourceRoot:""}]);const s=r},34:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-9b2f661a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}.reference-picker .custom-element-wrapper[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePicker.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,2DACC,YAAA,CACA,eAAA,CACA,UAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.reference-picker {\n\tdisplay: flex;\n\toverflow-y: auto;\n\twidth: 100%;\n\n\t.custom-element-wrapper {\n\t\tdisplay: flex;\n\t\toverflow-y: auto;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]);const s=r},698:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal .modal-container{display:flex !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,uBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// this is to avoid scroll on the container and leave it to the result block\n.reference-picker-modal .modal-container {\n\tdisplay: flex !important;\n}\n"],sourceRoot:""}]);const s=r},6508:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-1f66021a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-1f66021a]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-1f66021a],.reference-picker-modal--content .back-button[data-v-1f66021a]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-1f66021a]{left:4px}.reference-picker-modal--content .close-button[data-v-1f66021a]{right:4px}.reference-picker-modal--content>h2[data-v-1f66021a]{display:flex;margin:12px 0 20px 0}.reference-picker-modal--content>h2 .icon[data-v-1f66021a]{margin-right:8px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,kDACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAEA,+HAEC,iBAAA,CACA,OAAA,CAED,+DACC,QAAA,CAED,gEACC,SAAA,CAGD,qDACC,YAAA,CACA,oBAAA,CACA,2DACC,gBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.reference-picker-modal--content {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\toverflow-y: auto;\n\n\t.close-button,\n\t.back-button {\n\t\tposition: absolute;\n\t\ttop: 4px;\n\t}\n\t.back-button {\n\t\tleft: 4px;\n\t}\n\t.close-button {\n\t\tright: 4px;\n\t}\n\n\t> h2 {\n\t\tdisplay: flex;\n\t\tmargin: 12px 0 20px 0;\n\t\t.icon {\n\t\t\tmargin-right: 8px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=r},2873:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-26e3248c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-26e3248c]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px 16px}.smart-picker-search.with-empty-content[data-v-26e3248c]{min-height:350px}.smart-picker-search--empty-content[data-v-26e3248c]{margin-top:auto !important;margin-bottom:auto !important}.smart-picker-search .provider-icon[data-v-26e3248c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-26e3248c]{width:100%}.smart-picker-search--select .search-result[data-v-26e3248c]{width:100%}.smart-picker-search--select .group-title-icon[data-v-26e3248c],.smart-picker-search--select .option-simple-icon[data-v-26e3248c]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-26e3248c]{height:44px;display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-26e3248c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-picker-search--select[data-v-26e3248c] .multiselect__content-wrapper{width:calc(100% - 4px) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcSearch.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,sCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,wBAAA,CACA,yDACC,gBAAA,CAGD,qDACC,0BAAA,CACA,6BAAA,CAGD,qDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAGD,8CACC,UAAA,CAEA,6DACC,UAAA,CAGD,kIAEC,UAAA,CACA,WAAA,CACA,oBAAA,CAGD,6DACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,2DACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAKD,4EACC,iCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.smart-picker-search {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 0 16px 16px 16px;\n\t&.with-empty-content {\n\t\tmin-height: 350px;\n\t}\n\n\t&--empty-content {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.provider-icon {\n\t\twidth: 150px;\n\t\theight: 150px;\n\t\tobject-fit: contain;\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t&--select {\n\t\twidth: 100%;\n\n\t\t.search-result {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.group-title-icon,\n\t\t.option-simple-icon {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tmargin: 0 20px 0 10px;\n\t\t}\n\n\t\t.custom-option {\n\t\t\theight: 44px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.option-text {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// multiselect dropdown is wider than the select input\n\t\t// this avoids overflow\n\t\t:deep(.multiselect__content-wrapper) {\n\t\t\twidth: calc(100% - 4px) !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=r},9052:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-7297c50a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-7297c50a]{display:flex;align-items:center;height:44px;overflow:hidden}.result--icon-class[data-v-7297c50a],.result--image[data-v-7297c50a]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-7297c50a],.result--image.rounded[data-v-7297c50a]{border-radius:50%}.result--content[data-v-7297c50a]{display:flex;flex-direction:column;padding-left:10px;overflow:hidden}.result--content--title[data-v-7297c50a],.result--content--subline[data-v-7297c50a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferencePicker/NcSearchResult.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,qEAEC,UAAA,CACA,cAAA,CACA,WAAA,CACA,kBAAA,CAEA,qFACC,iBAAA,CAIF,kCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CAEA,oFAEC,eAAA,CACA,sBAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\toverflow: hidden;\n\n\t&--icon-class,\n\t&--image {\n\t\twidth: 40px;\n\t\tmin-width: 40px;\n\t\theight: 40px;\n\t\tobject-fit: contain;\n\n\t\t&.rounded {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n\n\t&--content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding-left: 10px;\n\t\toverflow: hidden;\n\n\t\t&--title,\n\t\t&--subline {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=r},1880:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,".material-design-icon[data-v-4be6aca8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-access[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;padding:calc(var(--default-grid-baseline, 4px)*3)}.widget-default[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-default--compact[data-v-4be6aca8]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-4be6aca8]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-4be6aca8]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px)*2);padding-bottom:calc(var(--default-grid-baseline, 4px)*2)}.widget-default--compact .widget-default--description[data-v-4be6aca8]{display:none}.widget-default--image[data-v-4be6aca8]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--title[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold}.widget-default--details[data-v-4be6aca8]{padding:calc(var(--default-grid-baseline, 4px)*3);width:60%}.widget-default--details p[data-v-4be6aca8]{margin:0;padding:0}.widget-default--description[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-4be6aca8]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/NcReferenceWidget.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCOD,gCAXC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAOD,gCAfC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CASA,iDAAA,CAGD,iCApBC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAeA,0CACC,qBAAA,CAEA,iEACC,UAAA,CACA,YAAA,CAGD,mEACC,UAAA,CACA,qDAAA,CACA,wDAAA,CAGD,uEACC,YAAA,CAKF,wCACC,SAAA,CACA,0BAAA,CACA,qBAAA,CACA,2BAAA,CAGD,wCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAAA,CAGD,0CACC,iDAAA,CACA,SAAA,CAEA,4CACC,QAAA,CACA,SAAA,CAIF,8CACC,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,2BAAA,CAGD,uCACC,mCAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n@mixin widget {\n\twidth: 100%;\n\tmargin: auto;\n\tmargin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n\tmargin-top: calc(var(--default-grid-baseline, 4px) * 3);\n\toverflow: hidden;\n\tborder: 2px solid var(--color-border);\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: transparent;\n\tdisplay: flex;\n}\n\n.widget-custom {\n\t@include widget;\n}\n\n.widget-access {\n\t@include widget;\n\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n}\n\n.widget-default {\n\t@include widget;\n\n\t&--compact {\n\t\tflex-direction: column;\n\n\t\t.widget-default--image {\n\t\t\twidth: 100%;\n\t\t\theight: 150px;\n\t\t}\n\n\t\t.widget-default--details {\n\t\t\twidth: 100%;\n\t\t\tpadding-top: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t\tpadding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t}\n\n\t\t.widget-default--description {\n\t\t\tdisplay: none;\n\t\t}\n\n\t}\n\n\t&--image {\n\t\twidth: 40%;\n\t\tbackground-position: center;\n\t\tbackground-size: cover;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t&--title {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tfont-weight: bold;\n\t}\n\n\t&--details {\n\t\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n\t\twidth: 60%;\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t&--description {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tdisplay: -webkit-box;\n\t\t-webkit-line-clamp: 3;\n\t\tline-clamp: 3;\n\t\t-webkit-box-orient: vertical;\n\t}\n\n\t&--link {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n}\n"],sourceRoot:""}]);const s=r},535:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,'.material-design-icon[data-v-1c15f071]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-text--wrapper[data-v-1c15f071]{word-break:break-word;line-height:1.5}.rich-text--wrapper .rich-text--fallback[data-v-1c15f071],.rich-text--wrapper .rich-text-component[data-v-1c15f071]{display:inline}.rich-text--wrapper .rich-text--external-link[data-v-1c15f071]{text-decoration:underline}.rich-text--wrapper .rich-text--external-link[data-v-1c15f071]:after{content:" ↗"}.rich-text--wrapper .rich-text--ordered-list .rich-text--list-item[data-v-1c15f071]{list-style:decimal}.rich-text--wrapper .rich-text--un-ordered-list .rich-text--list-item[data-v-1c15f071]{list-style:initial}.rich-text--wrapper .rich-text--list-item[data-v-1c15f071]{white-space:initial;color:var(--color-text-light);padding:initial;margin-left:20px}.rich-text--wrapper .rich-text--list-item.task-list-item[data-v-1c15f071]{list-style:none;white-space:initial;color:var(--color-text-light)}.rich-text--wrapper .rich-text--list-item.task-list-item input[data-v-1c15f071]{min-height:initial}.rich-text--wrapper .rich-text--strong[data-v-1c15f071]{white-space:initial;font-weight:bold;color:var(--color-text-light)}.rich-text--wrapper .rich-text--italic[data-v-1c15f071]{white-space:initial;font-style:italic;color:var(--color-text-light)}.rich-text--wrapper .rich-text--heading[data-v-1c15f071]{white-space:initial;font-size:initial;color:var(--color-text-light);margin-bottom:5px;margin-top:5px;font-weight:bold}.rich-text--wrapper .rich-text--heading.rich-text--heading-1[data-v-1c15f071]{font-size:20px}.rich-text--wrapper .rich-text--heading.rich-text--heading-2[data-v-1c15f071]{font-size:19px}.rich-text--wrapper .rich-text--heading.rich-text--heading-3[data-v-1c15f071]{font-size:18px}.rich-text--wrapper .rich-text--heading.rich-text--heading-4[data-v-1c15f071]{font-size:17px}.rich-text--wrapper .rich-text--heading.rich-text--heading-5[data-v-1c15f071]{font-size:16px}.rich-text--wrapper .rich-text--heading.rich-text--heading-6[data-v-1c15f071]{font-size:15px}.rich-text--wrapper .rich-text--hr[data-v-1c15f071]{border-top:1px solid var(--color-border-dark);border-bottom:0}.rich-text--wrapper .rich-text--pre[data-v-1c15f071]{border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);padding:5px}.rich-text--wrapper .rich-text--code[data-v-1c15f071]{background-color:var(--color-background-dark)}.rich-text--wrapper .rich-text--blockquote[data-v-1c15f071]{border-left:3px solid var(--color-border-dark);padding-left:5px}.rich-text--wrapper .rich-text--table[data-v-1c15f071]{border-collapse:collapse}.rich-text--wrapper .rich-text--table thead tr th[data-v-1c15f071]{border:1px solid var(--color-border-dark);font-weight:bold;padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr td[data-v-1c15f071]{border:1px solid var(--color-border-dark);padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr[data-v-1c15f071]:nth-child(even){background-color:var(--color-background-dark)}.rich-text--wrapper-markdown div>*[data-v-1c15f071]:first-child,.rich-text--wrapper-markdown blockquote>*[data-v-1c15f071]:first-child{margin-top:0 !important}.rich-text--wrapper-markdown div>*[data-v-1c15f071]:last-child,.rich-text--wrapper-markdown blockquote>*[data-v-1c15f071]:last-child{margin-bottom:0 !important}.rich-text--wrapper-markdown h1[data-v-1c15f071],.rich-text--wrapper-markdown h2[data-v-1c15f071],.rich-text--wrapper-markdown h3[data-v-1c15f071],.rich-text--wrapper-markdown h4[data-v-1c15f071],.rich-text--wrapper-markdown h5[data-v-1c15f071],.rich-text--wrapper-markdown h6[data-v-1c15f071],.rich-text--wrapper-markdown p[data-v-1c15f071],.rich-text--wrapper-markdown ul[data-v-1c15f071],.rich-text--wrapper-markdown ol[data-v-1c15f071],.rich-text--wrapper-markdown blockquote[data-v-1c15f071],.rich-text--wrapper-markdown pre[data-v-1c15f071]{margin-top:0;margin-bottom:1em}.rich-text--wrapper-markdown h1[data-v-1c15f071],.rich-text--wrapper-markdown h2[data-v-1c15f071],.rich-text--wrapper-markdown h3[data-v-1c15f071],.rich-text--wrapper-markdown h4[data-v-1c15f071],.rich-text--wrapper-markdown h5[data-v-1c15f071],.rich-text--wrapper-markdown h6[data-v-1c15f071]{font-weight:bold}.rich-text--wrapper-markdown h1[data-v-1c15f071]{font-size:30px}.rich-text--wrapper-markdown ul[data-v-1c15f071],.rich-text--wrapper-markdown ol[data-v-1c15f071]{padding-left:15px}.rich-text--wrapper-markdown ul[data-v-1c15f071]{list-style-type:disc}.rich-text--wrapper-markdown blockquote[data-v-1c15f071]{padding-left:13px;border-left:2px solid var(--color-border-dark);color:var(--color-text-lighter)}a[data-v-1c15f071]:not(.rich-text--component){text-decoration:underline}',"",{version:3,sources:["webpack://./src/components/NcRichText/NcRichText.vue","webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichText/richtext.scss"],names:[],mappings:"AAAA,uCCGA,YACC,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,sBACA,CAAA,qCCJD,qBACC,CAAA,eACA,CAAA,oHAEA,cACC,CAAA,+DAGD,yBACC,CAAA,qEACA,YACC,CAAA,oFAKD,kBACC,CAAA,uFAKD,kBACC,CAAA,2DAIF,mBACC,CAAA,6BACA,CAAA,eACA,CAAA,gBACA,CAAA,0EAEA,eACC,CAAA,mBACA,CAAA,6BACA,CAAA,gFAEA,kBACC,CAAA,wDAKH,mBACC,CAAA,gBACA,CAAA,6BACA,CAAA,wDAGD,mBACC,CAAA,iBACA,CAAA,6BACA,CAAA,yDAGD,mBACC,CAAA,iBACA,CAAA,6BACA,CAAA,iBACA,CAAA,cACA,CAAA,gBACA,CAAA,8EAEA,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,8EAGD,cACC,CAAA,oDAIF,6CACC,CAAA,eACA,CAAA,qDAGD,yCACC,CAAA,6CACA,CAAA,WACA,CAAA,sDAGD,6CACC,CAAA,4DAGD,8CACC,CAAA,gBACA,CAAA,uDAGD,wBACC,CAAA,mEAEA,yCACC,CAAA,gBACA,CAAA,gBACA,CAAA,mEAIA,yCACC,CAAA,gBACA,CAAA,gFAGD,6CACC,CAAA,uIAOH,uBAEC,CAAA,qIAED,0BAEC,CAAA,miBAGD,YACC,CAAA,iBACA,CAAA,sSAGD,gBACC,CAAA,iDAGD,cACC,CAAA,kGAGD,iBACC,CAAA,iDAGD,oBACC,CAAA,yDAGD,iBACC,CAAA,8CACA,CAAA,+BACA,CAAA,8CFpKF,yBACC",sourcesContent:["@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n","/*\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","/**\n * Styles are extracted to extract scss to dist folder, too.\n */\n\n.rich-text--wrapper {\n\tword-break: break-word;\n\tline-height: 1.5;\n\n\t.rich-text--fallback, .rich-text-component {\n\t\tdisplay: inline;\n\t}\n\n\t.rich-text--external-link {\n\t\ttext-decoration: underline;\n\t\t&:after {\n\t\t\tcontent: ' ↗';\n\t\t}\n\t}\n\n\t.rich-text--ordered-list {\n\t\t.rich-text--list-item {\n\t\t\tlist-style: decimal;\n\t\t}\n\t}\n\n\t.rich-text--un-ordered-list {\n\t\t.rich-text--list-item {\n\t\t\tlist-style: initial;\n\t\t}\n\t}\n\n\t.rich-text--list-item {\n\t\twhite-space: initial;\n\t\tcolor: var(--color-text-light);\n\t\tpadding: initial;\n\t\tmargin-left: 20px;\n\n\t\t&.task-list-item {\n\t\t\tlist-style: none;\n\t\t\twhite-space: initial;\n\t\t\tcolor: var(--color-text-light);\n\n\t\t\tinput {\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\t\t}\n\t}\n\n\t.rich-text--strong {\n\t\twhite-space: initial;\n\t\tfont-weight: bold;\n\t\tcolor: var(--color-text-light);\n\t}\n\n\t.rich-text--italic {\n\t\twhite-space: initial;\n\t\tfont-style: italic;\n\t\tcolor: var(--color-text-light);\n\t}\n\n\t.rich-text--heading {\n\t\twhite-space: initial;\n\t\tfont-size: initial;\n\t\tcolor: var(--color-text-light);\n\t\tmargin-bottom: 5px;\n\t\tmargin-top: 5px;\n\t\tfont-weight: bold;\n\n\t\t&.rich-text--heading-1 {\n\t\t\tfont-size: 20px;\n\t\t}\n\n\t\t&.rich-text--heading-2 {\n\t\t\tfont-size: 19px;\n\t\t}\n\n\t\t&.rich-text--heading-3 {\n\t\t\tfont-size: 18px;\n\t\t}\n\n\t\t&.rich-text--heading-4 {\n\t\t\tfont-size: 17px;\n\t\t}\n\n\t\t&.rich-text--heading-5 {\n\t\t\tfont-size: 16px;\n\t\t}\n\n\t\t&.rich-text--heading-6 {\n\t\t\tfont-size: 15px;\n\t\t}\n\t}\n\n\t.rich-text--hr {\n\t\tborder-top: 1px solid var(--color-border-dark);\n\t\tborder-bottom: 0;\n\t}\n\n\t.rich-text--pre {\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tbackground-color: var(--color-background-dark);\n\t\tpadding: 5px;\n\t}\n\n\t.rich-text--code {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t.rich-text--blockquote {\n\t\tborder-left: 3px solid var(--color-border-dark);\n\t\tpadding-left: 5px;\n\t}\n\n\t.rich-text--table {\n\t\tborder-collapse: collapse;\n\n\t\tthead tr th {\n\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\tfont-weight: bold;\n\t\t\tpadding: 6px 13px;\n\t\t}\n\n\t\ttbody tr {\n\t\t\ttd {\n\t\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t\tpadding: 6px 13px;\n\t\t\t}\n\n\t\t\t&:nth-child(even) {\n\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.rich-text--wrapper-markdown {\n\tdiv > *:first-child,\n\tblockquote > *:first-child{\n\t\tmargin-top: 0 !important;\n\t}\n\tdiv > *:last-child ,\n\tblockquote > *:last-child {\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\th1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, pre {\n\t\tmargin-top: 0;\n\t\tmargin-bottom: 1em;\n\t}\n\n\th1, h2, h3, h4, h5, h6 {\n\t\tfont-weight: bold;\n\t}\n\n\th1 {\n\t\tfont-size: 30px;\n\t}\n\n\tul, ol {\n\t\tpadding-left: 15px;\n\t}\n\n\tul {\n\t\tlist-style-type: disc;\n\t}\n\n\tblockquote {\n\t\tpadding-left: 13px;\n\t\tborder-left: 2px solid var(--color-border-dark);\n\t\tcolor: var(--color-text-lighter);\n\t}\n}\n"],sourceRoot:""}]);const s=r},8369:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(7537),a=n.n(i),o=n(3645),r=n.n(o)()(a());r.push([t.id,"\nbutton.menuitem[data-v-127b0c62] {\n\tborder-radius: var(--border-radius-large) !important;\n\ttext-align: left;\n}\nbutton.menuitem *[data-v-127b0c62] {\n\tcursor: pointer;\n}\nbutton.menuitem[data-v-127b0c62]:disabled {\n\topacity: 0.5 !important;\n\tcursor: default;\n}\nbutton.menuitem:disabled *[data-v-127b0c62] {\n\tcursor: default;\n}\n.menuitem.active[data-v-127b0c62] {\n\tborder-left: 4px solid var(--color-primary-element);\n\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\n}\n","",{version:3,sources:["webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue"],names:[],mappings:";AAgYA;CACA,oDAAA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,mDAAA;CACA,mFAAA;AACA",sourcesContent:['\x3c!--\n - @copyright Copyright (c) 2018 John Molakvoæ \n -\n - @author John Molakvoæ \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 program. If not, see .\n -\n --\x3e\n\n\n\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n standalone:\n 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('NcEmptyContent',{attrs:{\"title\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('span',{staticClass:\"icon-error\"})]},proxy:true}],null,false,3191801335)}):[_c('ul',_vm._l((_vm.activities),function(activity){return _c('Activity',{key:activity.id,attrs:{\"activity\":activity}})}),1),_vm._v(\" \"),(_vm.activities.length === 0 && !_vm.loading)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('activity', 'No activity yet')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('span',{staticClass:\"icon-activity\"})]},proxy:true}],null,false,999709570)}):_vm._e()]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else {\n requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.4.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import valid from 'semver/functions/valid.js';\nimport major from 'semver/functions/major.js';\n\nclass ProxyBus {\n bus;\n constructor(bus) {\n if (typeof bus.getVersion !== 'function' || !valid(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n }\n else if (major(bus.getVersion()) !== major(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n this.bus = bus;\n }\n getVersion() {\n return \"3.1.0\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\n\nclass SimpleBus {\n handlers = new Map();\n getVersion() {\n return \"3.1.0\";\n }\n subscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n unsubscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(h => h != handler));\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach(h => {\n try {\n h(event);\n }\n catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n }\n}\n\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === 'undefined') {\n // testing or SSR\n return new Proxy({}, {\n get: () => {\n return () => console.error('Window not available, EventBus can not be established!');\n }\n });\n }\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n }\n // Either use an existing event bus instance or create one\n if (typeof window?._nc_event_bus !== 'undefined') {\n bus = new ProxyBus(window._nc_event_bus);\n }\n else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\nfunction subscribe(name, handler) {\n getBus().subscribe(name, handler);\n}\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\nfunction unsubscribe(name, handler) {\n getBus().unsubscribe(name, handler);\n}\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n\nexport { ProxyBus, SimpleBus, emit, subscribe, unsubscribe };\n//# sourceMappingURL=index.mjs.map\n","import { subscribe } from '@nextcloud/event-bus';\n\nlet token = undefined;\nconst observers = [];\n/**\n * Get current request token\n *\n * @return {string|null} Current request token or null if not set\n */\nfunction getRequestToken() {\n if (token === undefined) {\n // Only on first load, try to get token from document\n const tokenElement = document?.getElementsByTagName('head')[0];\n token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\n }\n return token;\n}\n/**\n * Add an observer which is called when the CSRF token changes\n *\n * @param observer The observer\n */\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n}\n// Listen to server event and keep token in sync\nsubscribe('csrf-token-update', e => {\n token = e.token;\n observers.forEach(observer => {\n try {\n observer(e.token);\n }\n catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n\n/// \nconst getAttribute = (el, attribute) => {\n if (el) {\n return el.getAttribute(attribute);\n }\n return null;\n};\nlet currentUser = undefined;\nfunction getCurrentUser() {\n if (currentUser !== undefined) {\n return currentUser;\n }\n const head = document?.getElementsByTagName('head')[0];\n if (!head) {\n return null;\n }\n // No user logged in so cache and return null\n const uid = getAttribute(head, 'data-user');\n if (uid === null) {\n currentUser = null;\n return currentUser;\n }\n currentUser = {\n uid,\n displayName: getAttribute(head, 'data-user-displayname'),\n isAdmin: (typeof OC === 'undefined') ? false : OC.isUserAdmin(),\n };\n return currentUser;\n}\n\nexport { getCurrentUser, getRequestToken, onRequestTokenUpdate };\n//# sourceMappingURL=index.es.mjs.map\n","import Axios from 'axios';\nimport { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth';\nimport { generateUrl } from '@nextcloud/router';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar RETRY_KEY = Symbol('csrf-retry');\nvar onError$2 = function (axios) { return function (error) { return __awaiter(void 0, void 0, void 0, function () {\n var config, response, request, responseURL, status, token;\n var _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n config = error.config, response = error.response, request = error.request;\n responseURL = request === null || request === void 0 ? void 0 : request.responseURL;\n status = response === null || response === void 0 ? void 0 : response.status;\n if (!(status === 412\n && ((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.message) === 'CSRF check failed'\n && config[RETRY_KEY] === undefined)) return [3 /*break*/, 2];\n console.warn(\"Request to \".concat(responseURL, \" failed because of a CSRF mismatch. Fetching a new token\"));\n return [4 /*yield*/, axios.get(generateUrl('/csrftoken'))];\n case 1:\n token = (_c.sent()).data.token;\n console.debug(\"New request token \".concat(token, \" fetched\"));\n axios.defaults.headers.requesttoken = token;\n return [2 /*return*/, axios(__assign(__assign({}, config), (_a = { headers: __assign(__assign({}, config.headers), { requesttoken: token }) }, _a[RETRY_KEY] = true, _a)))];\n case 2: return [2 /*return*/, Promise.reject(error)];\n }\n });\n}); }; };\n\nvar RETRY_DELAY_KEY = Symbol('retryDelay');\nvar onError$1 = function (axios) { return function (error) { return __awaiter(void 0, void 0, void 0, function () {\n var config, response, request, responseURL, status, headers, retryDelay_1;\n var _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n config = error.config, response = error.response, request = error.request;\n responseURL = request === null || request === void 0 ? void 0 : request.responseURL;\n status = response === null || response === void 0 ? void 0 : response.status;\n headers = response === null || response === void 0 ? void 0 : response.headers;\n if (!(status === 503\n && headers['x-nextcloud-maintenance-mode'] === '1'\n && config.retryIfMaintenanceMode\n && (!config[RETRY_DELAY_KEY] || config[RETRY_DELAY_KEY] <= 32))) return [3 /*break*/, 2];\n retryDelay_1 = ((_b = config[RETRY_DELAY_KEY]) !== null && _b !== void 0 ? _b : 1) * 2;\n console.warn(\"Request to \".concat(responseURL, \" failed because of maintenance mode. Retrying in \").concat(retryDelay_1, \"s\"));\n return [4 /*yield*/, new Promise(function (resolve) {\n setTimeout(resolve, retryDelay_1 * 1000);\n })];\n case 1:\n _c.sent();\n return [2 /*return*/, axios(__assign(__assign({}, config), (_a = {}, _a[RETRY_DELAY_KEY] = retryDelay_1, _a)))];\n case 2: return [2 /*return*/, Promise.reject(error)];\n }\n });\n}); }; };\n\nvar onError = function (error) { return __awaiter(void 0, void 0, void 0, function () {\n var config, response, request, responseURL, status;\n var _a;\n return __generator(this, function (_b) {\n config = error.config, response = error.response, request = error.request;\n responseURL = request === null || request === void 0 ? void 0 : request.responseURL;\n status = response === null || response === void 0 ? void 0 : response.status;\n if (status === 401\n && ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) === 'Current user is not logged in'\n && config.reloadExpiredSession\n && (window === null || window === void 0 ? void 0 : window.location)) {\n console.error(\"Request to \".concat(responseURL, \" failed because the user session expired. Reloading the page \\u2026\"));\n window.location.reload();\n }\n return [2 /*return*/, Promise.reject(error)];\n });\n}); };\n\nvar _a;\nvar client = Axios.create({\n headers: {\n requesttoken: (_a = getRequestToken()) !== null && _a !== void 0 ? _a : '',\n },\n});\nvar cancelableClient = Object.assign(client, {\n CancelToken: Axios.CancelToken,\n isCancel: Axios.isCancel,\n});\ncancelableClient.interceptors.response.use(function (r) { return r; }, onError$2(cancelableClient));\ncancelableClient.interceptors.response.use(function (r) { return r; }, onError$1(cancelableClient));\ncancelableClient.interceptors.response.use(function (r) { return r; }, onError);\nonRequestTokenUpdate(function (token) { client.defaults.headers.requesttoken = token; });\n\nexport { cancelableClient as default };\n//# sourceMappingURL=index.es.mjs.map\n","import axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nfunction bail(error) {\n if (error) {\n throw error;\n }\n}\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nvar isBuffer$1 = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === \"function\" && obj.constructor.isBuffer(obj);\n};\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar isArray = function isArray2(arr) {\n if (typeof Array.isArray === \"function\") {\n return Array.isArray(arr);\n }\n return toStr.call(arr) === \"[object Array]\";\n};\nvar isPlainObject$1 = function isPlainObject(obj) {\n if (!obj || toStr.call(obj) !== \"[object Object]\") {\n return false;\n }\n var hasOwnConstructor = hasOwn.call(obj, \"constructor\");\n var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, \"isPrototypeOf\");\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n }\n var key;\n for (key in obj) {\n }\n return typeof key === \"undefined\" || hasOwn.call(obj, key);\n};\nvar setProperty = function setProperty2(target, options) {\n if (defineProperty && options.name === \"__proto__\") {\n defineProperty(target, options.name, {\n enumerable: true,\n configurable: true,\n value: options.newValue,\n writable: true\n });\n } else {\n target[options.name] = options.newValue;\n }\n};\nvar getProperty = function getProperty2(obj, name) {\n if (name === \"__proto__\") {\n if (!hasOwn.call(obj, name)) {\n return void 0;\n } else if (gOPD) {\n return gOPD(obj, name).value;\n }\n }\n return obj[name];\n};\nvar extend = function extend2() {\n var options, name, src, copy, copyIsArray, clone;\n var target = arguments[0];\n var i = 1;\n var length = arguments.length;\n var deep = false;\n if (typeof target === \"boolean\") {\n deep = target;\n target = arguments[1] || {};\n i = 2;\n }\n if (target == null || typeof target !== \"object\" && typeof target !== \"function\") {\n target = {};\n }\n for (; i < length; ++i) {\n options = arguments[i];\n if (options != null) {\n for (name in options) {\n src = getProperty(target, name);\n copy = getProperty(options, name);\n if (target !== copy) {\n if (deep && copy && (isPlainObject$1(copy) || (copyIsArray = isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject$1(src) ? src : {};\n }\n setProperty(target, { name, newValue: extend2(deep, clone, copy) });\n } else if (typeof copy !== \"undefined\") {\n setProperty(target, { name, newValue: copy });\n }\n }\n }\n }\n }\n return target;\n};\nfunction isPlainObject2(value) {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\nfunction trough() {\n const fns = [];\n const pipeline = { run, use };\n return pipeline;\n function run(...values) {\n let middlewareIndex = -1;\n const callback = values.pop();\n if (typeof callback !== \"function\") {\n throw new TypeError(\"Expected function as last argument, not \" + callback);\n }\n next(null, ...values);\n function next(error, ...output) {\n const fn = fns[++middlewareIndex];\n let index2 = -1;\n if (error) {\n callback(error);\n return;\n }\n while (++index2 < values.length) {\n if (output[index2] === null || output[index2] === void 0) {\n output[index2] = values[index2];\n }\n }\n values = output;\n if (fn) {\n wrap$1(fn, next)(...output);\n } else {\n callback(null, ...output);\n }\n }\n }\n function use(middelware) {\n if (typeof middelware !== \"function\") {\n throw new TypeError(\n \"Expected `middelware` to be a function, not \" + middelware\n );\n }\n fns.push(middelware);\n return pipeline;\n }\n}\nfunction wrap$1(middleware, callback) {\n let called;\n return wrapped;\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length;\n let result;\n if (fnExpectsCallback) {\n parameters.push(done);\n }\n try {\n result = middleware.apply(this, parameters);\n } catch (error) {\n const exception = error;\n if (fnExpectsCallback && called) {\n throw exception;\n }\n return done(exception);\n }\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done);\n } else if (result instanceof Error) {\n done(result);\n } else {\n then(result);\n }\n }\n }\n function done(error, ...output) {\n if (!called) {\n called = true;\n callback(error, ...output);\n }\n }\n function then(value) {\n done(null, value);\n }\n}\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nvar isBuffer2 = function isBuffer3(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === \"function\" && obj.constructor.isBuffer(obj);\n};\nfunction stringifyPosition(value) {\n if (!value || typeof value !== \"object\") {\n return \"\";\n }\n if (\"position\" in value || \"type\" in value) {\n return position(value.position);\n }\n if (\"start\" in value || \"end\" in value) {\n return position(value);\n }\n if (\"line\" in value || \"column\" in value) {\n return point$1(value);\n }\n return \"\";\n}\nfunction point$1(point2) {\n return index(point2 && point2.line) + \":\" + index(point2 && point2.column);\n}\nfunction position(pos) {\n return point$1(pos && pos.start) + \"-\" + point$1(pos && pos.end);\n}\nfunction index(value) {\n return value && typeof value === \"number\" ? value : 1;\n}\nclass VFileMessage extends Error {\n constructor(reason, place, origin) {\n const parts = [null, null];\n let position2 = {\n start: { line: null, column: null },\n end: { line: null, column: null }\n };\n super();\n if (typeof place === \"string\") {\n origin = place;\n place = void 0;\n }\n if (typeof origin === \"string\") {\n const index2 = origin.indexOf(\":\");\n if (index2 === -1) {\n parts[1] = origin;\n } else {\n parts[0] = origin.slice(0, index2);\n parts[1] = origin.slice(index2 + 1);\n }\n }\n if (place) {\n if (\"type\" in place || \"position\" in place) {\n if (place.position) {\n position2 = place.position;\n }\n } else if (\"start\" in place || \"end\" in place) {\n position2 = place;\n } else if (\"line\" in place || \"column\" in place) {\n position2.start = place;\n }\n }\n this.name = stringifyPosition(place) || \"1:1\";\n this.message = typeof reason === \"object\" ? reason.message : reason;\n this.stack = typeof reason === \"object\" ? reason.stack : \"\";\n this.reason = this.message;\n this.fatal;\n this.line = position2.start.line;\n this.column = position2.start.column;\n this.source = parts[0];\n this.ruleId = parts[1];\n this.position = position2;\n this.actual;\n this.expected;\n this.file;\n this.url;\n this.note;\n }\n}\nVFileMessage.prototype.file = \"\";\nVFileMessage.prototype.name = \"\";\nVFileMessage.prototype.reason = \"\";\nVFileMessage.prototype.message = \"\";\nVFileMessage.prototype.stack = \"\";\nVFileMessage.prototype.fatal = null;\nVFileMessage.prototype.column = null;\nVFileMessage.prototype.line = null;\nVFileMessage.prototype.source = null;\nVFileMessage.prototype.ruleId = null;\nVFileMessage.prototype.position = null;\nconst path = { basename, dirname, extname, join, sep: \"/\" };\nfunction basename(path2, ext) {\n if (ext !== void 0 && typeof ext !== \"string\") {\n throw new TypeError('\"ext\" argument must be a string');\n }\n assertPath$1(path2);\n let start = 0;\n let end = -1;\n let index2 = path2.length;\n let seenNonSlash;\n if (ext === void 0 || ext.length === 0 || ext.length > path2.length) {\n while (index2--) {\n if (path2.charCodeAt(index2) === 47) {\n if (seenNonSlash) {\n start = index2 + 1;\n break;\n }\n } else if (end < 0) {\n seenNonSlash = true;\n end = index2 + 1;\n }\n }\n return end < 0 ? \"\" : path2.slice(start, end);\n }\n if (ext === path2) {\n return \"\";\n }\n let firstNonSlashEnd = -1;\n let extIndex = ext.length - 1;\n while (index2--) {\n if (path2.charCodeAt(index2) === 47) {\n if (seenNonSlash) {\n start = index2 + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd < 0) {\n seenNonSlash = true;\n firstNonSlashEnd = index2 + 1;\n }\n if (extIndex > -1) {\n if (path2.charCodeAt(index2) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n end = index2;\n }\n } else {\n extIndex = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end) {\n end = firstNonSlashEnd;\n } else if (end < 0) {\n end = path2.length;\n }\n return path2.slice(start, end);\n}\nfunction dirname(path2) {\n assertPath$1(path2);\n if (path2.length === 0) {\n return \".\";\n }\n let end = -1;\n let index2 = path2.length;\n let unmatchedSlash;\n while (--index2) {\n if (path2.charCodeAt(index2) === 47) {\n if (unmatchedSlash) {\n end = index2;\n break;\n }\n } else if (!unmatchedSlash) {\n unmatchedSlash = true;\n }\n }\n return end < 0 ? path2.charCodeAt(0) === 47 ? \"/\" : \".\" : end === 1 && path2.charCodeAt(0) === 47 ? \"//\" : path2.slice(0, end);\n}\nfunction extname(path2) {\n assertPath$1(path2);\n let index2 = path2.length;\n let end = -1;\n let startPart = 0;\n let startDot = -1;\n let preDotState = 0;\n let unmatchedSlash;\n while (index2--) {\n const code2 = path2.charCodeAt(index2);\n if (code2 === 47) {\n if (unmatchedSlash) {\n startPart = index2 + 1;\n break;\n }\n continue;\n }\n if (end < 0) {\n unmatchedSlash = true;\n end = index2 + 1;\n }\n if (code2 === 46) {\n if (startDot < 0) {\n startDot = index2;\n } else if (preDotState !== 1) {\n preDotState = 1;\n }\n } else if (startDot > -1) {\n preDotState = -1;\n }\n }\n if (startDot < 0 || end < 0 || preDotState === 0 || preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return \"\";\n }\n return path2.slice(startDot, end);\n}\nfunction join(...segments) {\n let index2 = -1;\n let joined;\n while (++index2 < segments.length) {\n assertPath$1(segments[index2]);\n if (segments[index2]) {\n joined = joined === void 0 ? segments[index2] : joined + \"/\" + segments[index2];\n }\n }\n return joined === void 0 ? \".\" : normalize$1(joined);\n}\nfunction normalize$1(path2) {\n assertPath$1(path2);\n const absolute = path2.charCodeAt(0) === 47;\n let value = normalizeString(path2, !absolute);\n if (value.length === 0 && !absolute) {\n value = \".\";\n }\n if (value.length > 0 && path2.charCodeAt(path2.length - 1) === 47) {\n value += \"/\";\n }\n return absolute ? \"/\" + value : value;\n}\nfunction normalizeString(path2, allowAboveRoot) {\n let result = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let index2 = -1;\n let code2;\n let lastSlashIndex;\n while (++index2 <= path2.length) {\n if (index2 < path2.length) {\n code2 = path2.charCodeAt(index2);\n } else if (code2 === 47) {\n break;\n } else {\n code2 = 47;\n }\n if (code2 === 47) {\n if (lastSlash === index2 - 1 || dots === 1)\n ;\n else if (lastSlash !== index2 - 1 && dots === 2) {\n if (result.length < 2 || lastSegmentLength !== 2 || result.charCodeAt(result.length - 1) !== 46 || result.charCodeAt(result.length - 2) !== 46) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf(\"/\");\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = \"\";\n lastSegmentLength = 0;\n } else {\n result = result.slice(0, lastSlashIndex);\n lastSegmentLength = result.length - 1 - result.lastIndexOf(\"/\");\n }\n lastSlash = index2;\n dots = 0;\n continue;\n }\n } else if (result.length > 0) {\n result = \"\";\n lastSegmentLength = 0;\n lastSlash = index2;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n result = result.length > 0 ? result + \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (result.length > 0) {\n result += \"/\" + path2.slice(lastSlash + 1, index2);\n } else {\n result = path2.slice(lastSlash + 1, index2);\n }\n lastSegmentLength = index2 - lastSlash - 1;\n }\n lastSlash = index2;\n dots = 0;\n } else if (code2 === 46 && dots > -1) {\n dots++;\n } else {\n dots = -1;\n }\n }\n return result;\n}\nfunction assertPath$1(path2) {\n if (typeof path2 !== \"string\") {\n throw new TypeError(\n \"Path must be a string. Received \" + JSON.stringify(path2)\n );\n }\n}\nconst proc = { cwd };\nfunction cwd() {\n return \"/\";\n}\nfunction isUrl(fileURLOrPath) {\n return fileURLOrPath !== null && typeof fileURLOrPath === \"object\" && fileURLOrPath.href && fileURLOrPath.origin;\n}\nfunction urlToPath(path2) {\n if (typeof path2 === \"string\") {\n path2 = new URL(path2);\n } else if (!isUrl(path2)) {\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' + path2 + \"`\"\n );\n error.code = \"ERR_INVALID_ARG_TYPE\";\n throw error;\n }\n if (path2.protocol !== \"file:\") {\n const error = new TypeError(\"The URL must be of scheme file\");\n error.code = \"ERR_INVALID_URL_SCHEME\";\n throw error;\n }\n return getPathFromURLPosix(path2);\n}\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== \"\") {\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n );\n error.code = \"ERR_INVALID_FILE_URL_HOST\";\n throw error;\n }\n const pathname = url.pathname;\n let index2 = -1;\n while (++index2 < pathname.length) {\n if (pathname.charCodeAt(index2) === 37 && pathname.charCodeAt(index2 + 1) === 50) {\n const third = pathname.charCodeAt(index2 + 2);\n if (third === 70 || third === 102) {\n const error = new TypeError(\n \"File URL path must not include encoded / characters\"\n );\n error.code = \"ERR_INVALID_FILE_URL_PATH\";\n throw error;\n }\n }\n }\n return decodeURIComponent(pathname);\n}\nconst order = [\"history\", \"path\", \"basename\", \"stem\", \"extname\", \"dirname\"];\nclass VFile {\n constructor(value) {\n let options;\n if (!value) {\n options = {};\n } else if (typeof value === \"string\" || isBuffer2(value)) {\n options = { value };\n } else if (isUrl(value)) {\n options = { path: value };\n } else {\n options = value;\n }\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = proc.cwd();\n this.value;\n this.stored;\n this.result;\n this.map;\n let index2 = -1;\n while (++index2 < order.length) {\n const prop2 = order[index2];\n if (prop2 in options && options[prop2] !== void 0) {\n this[prop2] = prop2 === \"history\" ? [...options[prop2]] : options[prop2];\n }\n }\n let prop;\n for (prop in options) {\n if (!order.includes(prop))\n this[prop] = options[prop];\n }\n }\n get path() {\n return this.history[this.history.length - 1];\n }\n set path(path2) {\n if (isUrl(path2)) {\n path2 = urlToPath(path2);\n }\n assertNonEmpty(path2, \"path\");\n if (this.path !== path2) {\n this.history.push(path2);\n }\n }\n get dirname() {\n return typeof this.path === \"string\" ? path.dirname(this.path) : void 0;\n }\n set dirname(dirname2) {\n assertPath(this.basename, \"dirname\");\n this.path = path.join(dirname2 || \"\", this.basename);\n }\n get basename() {\n return typeof this.path === \"string\" ? path.basename(this.path) : void 0;\n }\n set basename(basename2) {\n assertNonEmpty(basename2, \"basename\");\n assertPart(basename2, \"basename\");\n this.path = path.join(this.dirname || \"\", basename2);\n }\n get extname() {\n return typeof this.path === \"string\" ? path.extname(this.path) : void 0;\n }\n set extname(extname2) {\n assertPart(extname2, \"extname\");\n assertPath(this.dirname, \"extname\");\n if (extname2) {\n if (extname2.charCodeAt(0) !== 46) {\n throw new Error(\"`extname` must start with `.`\");\n }\n if (extname2.includes(\".\", 1)) {\n throw new Error(\"`extname` cannot contain multiple dots\");\n }\n }\n this.path = path.join(this.dirname, this.stem + (extname2 || \"\"));\n }\n get stem() {\n return typeof this.path === \"string\" ? path.basename(this.path, this.extname) : void 0;\n }\n set stem(stem) {\n assertNonEmpty(stem, \"stem\");\n assertPart(stem, \"stem\");\n this.path = path.join(this.dirname || \"\", stem + (this.extname || \"\"));\n }\n toString(encoding) {\n return (this.value || \"\").toString(encoding);\n }\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin);\n if (this.path) {\n message.name = this.path + \":\" + message.name;\n message.file = this.path;\n }\n message.fatal = false;\n this.messages.push(message);\n return message;\n }\n info(reason, place, origin) {\n const message = this.message(reason, place, origin);\n message.fatal = null;\n return message;\n }\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin);\n message.fatal = true;\n throw message;\n }\n}\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n \"`\" + name + \"` cannot be a path: did not expect `\" + path.sep + \"`\"\n );\n }\n}\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error(\"`\" + name + \"` cannot be empty\");\n }\n}\nfunction assertPath(path2, name) {\n if (!path2) {\n throw new Error(\"Setting `\" + name + \"` requires `path` to be set too\");\n }\n}\nconst unified = base().freeze();\nconst own$7 = {}.hasOwnProperty;\nfunction base() {\n const transformers = trough();\n const attachers = [];\n let namespace = {};\n let frozen;\n let freezeIndex = -1;\n processor.data = data;\n processor.Parser = void 0;\n processor.Compiler = void 0;\n processor.freeze = freeze;\n processor.attachers = attachers;\n processor.use = use;\n processor.parse = parse2;\n processor.stringify = stringify2;\n processor.run = run;\n processor.runSync = runSync;\n processor.process = process;\n processor.processSync = processSync;\n return processor;\n function processor() {\n const destination = base();\n let index2 = -1;\n while (++index2 < attachers.length) {\n destination.use(...attachers[index2]);\n }\n destination.data(extend(true, {}, namespace));\n return destination;\n }\n function data(key, value) {\n if (typeof key === \"string\") {\n if (arguments.length === 2) {\n assertUnfrozen(\"data\", frozen);\n namespace[key] = value;\n return processor;\n }\n return own$7.call(namespace, key) && namespace[key] || null;\n }\n if (key) {\n assertUnfrozen(\"data\", frozen);\n namespace = key;\n return processor;\n }\n return namespace;\n }\n function freeze() {\n if (frozen) {\n return processor;\n }\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex];\n if (options[0] === false) {\n continue;\n }\n if (options[0] === true) {\n options[0] = void 0;\n }\n const transformer = attacher.call(processor, ...options);\n if (typeof transformer === \"function\") {\n transformers.use(transformer);\n }\n }\n frozen = true;\n freezeIndex = Number.POSITIVE_INFINITY;\n return processor;\n }\n function use(value, ...options) {\n let settings;\n assertUnfrozen(\"use\", frozen);\n if (value === null || value === void 0)\n ;\n else if (typeof value === \"function\") {\n addPlugin(value, ...options);\n } else if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n addList(value);\n } else {\n addPreset(value);\n }\n } else {\n throw new TypeError(\"Expected usable value, not `\" + value + \"`\");\n }\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings);\n }\n return processor;\n function add(value2) {\n if (typeof value2 === \"function\") {\n addPlugin(value2);\n } else if (typeof value2 === \"object\") {\n if (Array.isArray(value2)) {\n const [plugin, ...options2] = value2;\n addPlugin(plugin, ...options2);\n } else {\n addPreset(value2);\n }\n } else {\n throw new TypeError(\"Expected usable value, not `\" + value2 + \"`\");\n }\n }\n function addPreset(result) {\n addList(result.plugins);\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings);\n }\n }\n function addList(plugins) {\n let index2 = -1;\n if (plugins === null || plugins === void 0)\n ;\n else if (Array.isArray(plugins)) {\n while (++index2 < plugins.length) {\n const thing = plugins[index2];\n add(thing);\n }\n } else {\n throw new TypeError(\"Expected a list of plugins, not `\" + plugins + \"`\");\n }\n }\n function addPlugin(plugin, value2) {\n let index2 = -1;\n let entry;\n while (++index2 < attachers.length) {\n if (attachers[index2][0] === plugin) {\n entry = attachers[index2];\n break;\n }\n }\n if (entry) {\n if (isPlainObject2(entry[1]) && isPlainObject2(value2)) {\n value2 = extend(true, entry[1], value2);\n }\n entry[1] = value2;\n } else {\n attachers.push([...arguments]);\n }\n }\n }\n function parse2(doc) {\n processor.freeze();\n const file = vfile(doc);\n const Parser = processor.Parser;\n assertParser(\"parse\", Parser);\n if (newable(Parser, \"parse\")) {\n return new Parser(String(file), file).parse();\n }\n return Parser(String(file), file);\n }\n function stringify2(node, doc) {\n processor.freeze();\n const file = vfile(doc);\n const Compiler = processor.Compiler;\n assertCompiler(\"stringify\", Compiler);\n assertNode(node);\n if (newable(Compiler, \"compile\")) {\n return new Compiler(node, file).compile();\n }\n return Compiler(node, file);\n }\n function run(node, doc, callback) {\n assertNode(node);\n processor.freeze();\n if (!callback && typeof doc === \"function\") {\n callback = doc;\n doc = void 0;\n }\n if (!callback) {\n return new Promise(executor);\n }\n executor(null, callback);\n function executor(resolve, reject) {\n transformers.run(node, vfile(doc), done);\n function done(error, tree, file) {\n tree = tree || node;\n if (error) {\n reject(error);\n } else if (resolve) {\n resolve(tree);\n } else {\n callback(null, tree, file);\n }\n }\n }\n }\n function runSync(node, file) {\n let result;\n let complete;\n processor.run(node, file, done);\n assertDone(\"runSync\", \"run\", complete);\n return result;\n function done(error, tree) {\n bail(error);\n result = tree;\n complete = true;\n }\n }\n function process(doc, callback) {\n processor.freeze();\n assertParser(\"process\", processor.Parser);\n assertCompiler(\"process\", processor.Compiler);\n if (!callback) {\n return new Promise(executor);\n }\n executor(null, callback);\n function executor(resolve, reject) {\n const file = vfile(doc);\n processor.run(processor.parse(file), file, (error, tree, file2) => {\n if (error || !tree || !file2) {\n done(error);\n } else {\n const result = processor.stringify(tree, file2);\n if (result === void 0 || result === null)\n ;\n else if (looksLikeAVFileValue(result)) {\n file2.value = result;\n } else {\n file2.result = result;\n }\n done(error, file2);\n }\n });\n function done(error, file2) {\n if (error || !file2) {\n reject(error);\n } else if (resolve) {\n resolve(file2);\n } else {\n callback(null, file2);\n }\n }\n }\n }\n function processSync(doc) {\n let complete;\n processor.freeze();\n assertParser(\"processSync\", processor.Parser);\n assertCompiler(\"processSync\", processor.Compiler);\n const file = vfile(doc);\n processor.process(file, done);\n assertDone(\"processSync\", \"process\", complete);\n return file;\n function done(error) {\n complete = true;\n bail(error);\n }\n }\n}\nfunction newable(value, name) {\n return typeof value === \"function\" && value.prototype && (keys(value.prototype) || name in value.prototype);\n}\nfunction keys(value) {\n let key;\n for (key in value) {\n if (own$7.call(value, key)) {\n return true;\n }\n }\n return false;\n}\nfunction assertParser(name, value) {\n if (typeof value !== \"function\") {\n throw new TypeError(\"Cannot `\" + name + \"` without `Parser`\");\n }\n}\nfunction assertCompiler(name, value) {\n if (typeof value !== \"function\") {\n throw new TypeError(\"Cannot `\" + name + \"` without `Compiler`\");\n }\n}\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n \"Cannot call `\" + name + \"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.\"\n );\n }\n}\nfunction assertNode(node) {\n if (!isPlainObject2(node) || typeof node.type !== \"string\") {\n throw new TypeError(\"Expected node, got `\" + node + \"`\");\n }\n}\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n \"`\" + name + \"` finished async. Use `\" + asyncName + \"` instead\"\n );\n }\n}\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value);\n}\nfunction looksLikeAVFile(value) {\n return Boolean(\n value && typeof value === \"object\" && \"message\" in value && \"messages\" in value\n );\n}\nfunction looksLikeAVFileValue(value) {\n return typeof value === \"string\" || isBuffer$1(value);\n}\nif (!window._vue_richtext_widgets) {\n window._vue_richtext_widgets = {};\n}\nconst isWidgetRegistered = (id) => {\n return !!window._vue_richtext_widgets[id];\n};\nconst registerWidget = (id, callback, onDestroy = (el) => {\n}) => {\n if (window._vue_richtext_widgets[id]) {\n console.error(\"Widget for id \" + id + \" already registered\");\n return;\n }\n window._vue_richtext_widgets[id] = {\n id,\n callback,\n onDestroy\n };\n};\nconst renderWidget = (el, { richObjectType, richObject, accessible }) => {\n if (richObjectType === \"open-graph\") {\n return;\n }\n if (!window._vue_richtext_widgets[richObjectType]) {\n console.error(\"Widget for rich object type \" + richObjectType + \" not registered\");\n return;\n }\n window._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible });\n};\nconst destroyWidget = (richObjectType, el) => {\n if (richObjectType === \"open-graph\") {\n return;\n }\n if (!window._vue_richtext_widgets[richObjectType]) {\n return;\n }\n window._vue_richtext_widgets[richObjectType].onDestroy(el);\n};\nwindow._registerWidget = registerWidget;\nconst ReferenceWidget_vue_vue_type_style_index_0_scoped_de8147ea_lang = \"\";\nfunction normalizeComponent(scriptExports, render3, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render3) {\n options.render = render3;\n options.staticRenderFns = staticRenderFns;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst _sfc_main$2 = {\n name: \"ReferenceWidget\",\n props: {\n reference: {\n type: Object,\n required: true\n }\n },\n data() {\n return {\n compact: 3\n };\n },\n computed: {\n hasCustomWidget() {\n return isWidgetRegistered(this.reference.richObjectType);\n },\n noAccess() {\n return this.reference && !this.reference.accessible;\n },\n descriptionStyle() {\n if (this.compact === 0) {\n return {\n display: \"none\"\n };\n }\n const lineClamp = this.compact < 4 ? this.compact : 3;\n return {\n lineClamp,\n webkitLineClamp: lineClamp\n };\n },\n compactLink() {\n const link2 = this.reference.openGraphObject.link;\n if (!link2) {\n return \"\";\n }\n if (link2.startsWith(\"https://\")) {\n return link2.substring(8);\n }\n if (link2.startsWith(\"http://\")) {\n return link2.substring(7);\n }\n return link2;\n }\n },\n mounted() {\n this.renderWidget();\n this.observer = new ResizeObserver((entries) => {\n if (entries[0].contentRect.width < 450) {\n this.compact = 0;\n } else if (entries[0].contentRect.width < 550) {\n this.compact = 1;\n } else if (entries[0].contentRect.width < 650) {\n this.compact = 2;\n } else {\n this.compact = 3;\n }\n });\n this.observer.observe(this.$el);\n },\n beforeDestroy() {\n this.observer.disconnect();\n destroyWidget(this.reference.richObjectType, this.$el);\n },\n methods: {\n renderWidget() {\n var _a;\n if (this.$refs.customWidget) {\n this.$refs.customWidget.innerHTML = \"\";\n }\n if (((_a = this == null ? void 0 : this.reference) == null ? void 0 : _a.richObjectType) === \"open-graph\") {\n return;\n }\n this.$nextTick(() => {\n renderWidget(this.$refs.customWidget, this.reference);\n });\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", [_vm.reference && _vm.hasCustomWidget ? _c(\"div\", { staticClass: \"widget-custom\" }, [_c(\"div\", { ref: \"customWidget\" })]) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(\"a\", { staticClass: \"widget-default\", attrs: { \"href\": _vm.reference.openGraphObject.link, \"rel\": \"noopener noreferrer\", \"target\": \"_blank\" } }, [_vm.reference.openGraphObject.thumb ? _c(\"img\", { staticClass: \"widget-default--image\", attrs: { \"src\": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c(\"div\", { staticClass: \"widget-default--details\" }, [_c(\"p\", { staticClass: \"widget-default--title\" }, [_vm._v(_vm._s(_vm.reference.openGraphObject.name))]), _c(\"p\", { staticClass: \"widget-default--description\", style: _vm.descriptionStyle }, [_vm._v(_vm._s(_vm.reference.openGraphObject.description))]), _c(\"p\", { staticClass: \"widget-default--link\" }, [_vm._v(_vm._s(_vm.compactLink))])])]) : _vm._e()]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"de8147ea\",\n null,\n null\n);\nconst ReferenceWidget = __component__$2.exports;\nconst URL_PATTERN = /(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig;\nconst URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig;\nconst ReferenceList_vue_vue_type_style_index_0_scoped_5a4fd40e_lang = \"\";\nconst _sfc_main$1 = {\n name: \"ReferenceList\",\n components: { ReferenceWidget },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Object,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n values() {\n return this.referenceData ? this.referenceData : this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n var _a;\n return (_a = this.values[0]) != null ? _a : null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n if (this.limit === 1 && match) {\n return axios.get(generateOcsUrl(\"references/resolve\", 2) + `?reference=${encodeURIComponent(match[0])}`);\n }\n return axios.post(generateOcsUrl(\"references/extract\", 2), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"div\", { key: reference.openGraphObject.id }, [_c(\"ReferenceWidget\", { attrs: { \"reference\": reference } })], 1);\n }), 0);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"5a4fd40e\",\n null,\n null\n);\nconst ReferenceList = __component__$1.exports;\nfunction toString(node, options) {\n var { includeImageAlt = true } = options || {};\n return one$1(node, includeImageAlt);\n}\nfunction one$1(node, includeImageAlt) {\n return node && typeof node === \"object\" && (node.value || (includeImageAlt ? node.alt : \"\") || \"children\" in node && all$1(node.children, includeImageAlt) || Array.isArray(node) && all$1(node, includeImageAlt)) || \"\";\n}\nfunction all$1(values, includeImageAlt) {\n var result = [];\n var index2 = -1;\n while (++index2 < values.length) {\n result[index2] = one$1(values[index2], includeImageAlt);\n }\n return result.join(\"\");\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n [].splice.apply(list2, parameters);\n } else {\n if (remove)\n [].splice.apply(list2, [start, remove]);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n [].splice.apply(list2, parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nfunction push(list2, items) {\n if (list2.length > 0) {\n splice(list2, list2.length, 0, items);\n return list2;\n }\n return items;\n}\nconst hasOwnProperty$1 = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index2 = -1;\n while (++index2 < extensions.length) {\n syntaxExtension(all2, extensions[index2]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension2) {\n let hook;\n for (hook in extension2) {\n const maybe = hasOwnProperty$1.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension2[hook];\n let code2;\n for (code2 in right) {\n if (!hasOwnProperty$1.call(left, code2))\n left[code2] = [];\n const value = right[code2];\n constructs(\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n}\nfunction constructs(existing, list2) {\n let index2 = -1;\n const before = [];\n while (++index2 < list2.length) {\n (list2[index2].add === \"after\" ? existing : before).push(list2[index2]);\n }\n splice(existing, 0, 0, before);\n}\nconst unicodePunctuationRegex = /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/;\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiDigit = regexCheck(/\\d/);\nconst asciiHexDigit = regexCheck(/[\\dA-Fa-f]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nconst asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);\nconst asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/);\nfunction asciiControl(code2) {\n return code2 !== null && (code2 < 32 || code2 === 127);\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodeWhitespace = regexCheck(/\\s/);\nconst unicodePunctuation = regexCheck(unicodePunctuationRegex);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && regex.test(String.fromCharCode(code2));\n }\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst content$1 = {\n tokenize: initializeContent\n};\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n );\n let previous2;\n return contentStart;\n function afterContentStartConstruct(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, contentStart, \"linePrefix\");\n }\n function paragraphInitial(code2) {\n effects.enter(\"paragraph\");\n return lineStart(code2);\n }\n function lineStart(code2) {\n const token = effects.enter(\"chunkText\", {\n contentType: \"text\",\n previous: previous2\n });\n if (previous2) {\n previous2.next = token;\n }\n previous2 = token;\n return data(code2);\n }\n function data(code2) {\n if (code2 === null) {\n effects.exit(\"chunkText\");\n effects.exit(\"paragraph\");\n effects.consume(code2);\n return;\n }\n if (markdownLineEnding(code2)) {\n effects.consume(code2);\n effects.exit(\"chunkText\");\n return lineStart;\n }\n effects.consume(code2);\n return data;\n }\n}\nconst document$2 = {\n tokenize: initializeDocument\n};\nconst containerConstruct = {\n tokenize: tokenizeContainer\n};\nfunction initializeDocument(effects) {\n const self = this;\n const stack = [];\n let continued = 0;\n let childFlow;\n let childToken;\n let lineStartOffset;\n return start;\n function start(code2) {\n if (continued < stack.length) {\n const item = stack[continued];\n self.containerState = item[1];\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code2);\n }\n return checkNewContainers(code2);\n }\n function documentContinue(code2) {\n continued++;\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = void 0;\n if (childFlow) {\n closeFlow();\n }\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n let point2;\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === \"exit\" && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n point2 = self.events[indexBeforeFlow][1].end;\n break;\n }\n }\n exitContainers(continued);\n let index2 = indexBeforeExits;\n while (index2 < self.events.length) {\n self.events[index2][1].end = Object.assign({}, point2);\n index2++;\n }\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n );\n self.events.length = index2;\n return checkNewContainers(code2);\n }\n return start(code2);\n }\n function checkNewContainers(code2) {\n if (continued === stack.length) {\n if (!childFlow) {\n return documentContinued(code2);\n }\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code2);\n }\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n );\n }\n self.containerState = {};\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code2);\n }\n function thereIsANewContainer(code2) {\n if (childFlow)\n closeFlow();\n exitContainers(continued);\n return documentContinued(code2);\n }\n function thereIsNoNewContainer(code2) {\n self.parser.lazy[self.now().line] = continued !== stack.length;\n lineStartOffset = self.now().offset;\n return flowStart(code2);\n }\n function documentContinued(code2) {\n self.containerState = {};\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code2);\n }\n function containerContinue(code2) {\n continued++;\n stack.push([self.currentConstruct, self.containerState]);\n return documentContinued(code2);\n }\n function flowStart(code2) {\n if (code2 === null) {\n if (childFlow)\n closeFlow();\n exitContainers(0);\n effects.consume(code2);\n return;\n }\n childFlow = childFlow || self.parser.flow(self.now());\n effects.enter(\"chunkFlow\", {\n contentType: \"flow\",\n previous: childToken,\n _tokenizer: childFlow\n });\n return flowContinue(code2);\n }\n function flowContinue(code2) {\n if (code2 === null) {\n writeToChild(effects.exit(\"chunkFlow\"), true);\n exitContainers(0);\n effects.consume(code2);\n return;\n }\n if (markdownLineEnding(code2)) {\n effects.consume(code2);\n writeToChild(effects.exit(\"chunkFlow\"));\n continued = 0;\n self.interrupt = void 0;\n return start;\n }\n effects.consume(code2);\n return flowContinue;\n }\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token);\n if (eof)\n stream.push(null);\n token.previous = childToken;\n if (childToken)\n childToken.next = token;\n childToken = token;\n childFlow.defineSkip(token.start);\n childFlow.write(stream);\n if (self.parser.lazy[token.start.line]) {\n let index2 = childFlow.events.length;\n while (index2--) {\n if (childFlow.events[index2][1].start.offset < lineStartOffset && (!childFlow.events[index2][1].end || childFlow.events[index2][1].end.offset > lineStartOffset)) {\n return;\n }\n }\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n let seen;\n let point2;\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === \"exit\" && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n if (seen) {\n point2 = self.events[indexBeforeFlow][1].end;\n break;\n }\n seen = true;\n }\n }\n exitContainers(continued);\n index2 = indexBeforeExits;\n while (index2 < self.events.length) {\n self.events[index2][1].end = Object.assign({}, point2);\n index2++;\n }\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n );\n self.events.length = index2;\n }\n }\n function exitContainers(size) {\n let index2 = stack.length;\n while (index2-- > size) {\n const entry = stack[index2];\n self.containerState = entry[1];\n entry[0].exit.call(self, effects);\n }\n stack.length = size;\n }\n function closeFlow() {\n childFlow.write([null]);\n childToken = void 0;\n childFlow = void 0;\n self.containerState._closeFlow = void 0;\n }\n}\nfunction tokenizeContainer(effects, ok2, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok2, nok),\n \"linePrefix\",\n this.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index2 = -1;\n while (++index2 < constructs2.length) {\n const resolve = constructs2[index2].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nconst attention = {\n name: \"attention\",\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n};\nfunction resolveAllAttention(events, context) {\n let index2 = -1;\n let open;\n let group;\n let text2;\n let openingSequence;\n let closingSequence;\n let use;\n let nextEvents;\n let offset;\n while (++index2 < events.length) {\n if (events[index2][0] === \"enter\" && events[index2][1].type === \"attentionSequence\" && events[index2][1]._close) {\n open = index2;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"attentionSequence\" && events[open][1]._open && context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index2][1]).charCodeAt(0)) {\n if ((events[open][1]._close || events[index2][1]._open) && (events[index2][1].end.offset - events[index2][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index2][1].end.offset - events[index2][1].start.offset) % 3)) {\n continue;\n }\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index2][1].end.offset - events[index2][1].start.offset > 1 ? 2 : 1;\n const start = Object.assign({}, events[open][1].end);\n const end = Object.assign({}, events[index2][1].start);\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: Object.assign({}, events[open][1].end)\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: Object.assign({}, events[index2][1].start),\n end\n };\n text2 = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index2][1].start)\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n };\n events[open][1].end = Object.assign({}, openingSequence.start);\n events[index2][1].start = Object.assign({}, closingSequence.end);\n nextEvents = [];\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context]\n ]);\n }\n nextEvents = push(nextEvents, [\n [\"enter\", group, context],\n [\"enter\", openingSequence, context],\n [\"exit\", openingSequence, context],\n [\"enter\", text2, context]\n ]);\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index2),\n context\n )\n );\n nextEvents = push(nextEvents, [\n [\"exit\", text2, context],\n [\"enter\", closingSequence, context],\n [\"exit\", closingSequence, context],\n [\"exit\", group, context]\n ]);\n if (events[index2][1].end.offset - events[index2][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [\n [\"enter\", events[index2][1], context],\n [\"exit\", events[index2][1], context]\n ]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index2 - open + 3, nextEvents);\n index2 = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n index2 = -1;\n while (++index2 < events.length) {\n if (events[index2][1].type === \"attentionSequence\") {\n events[index2][1].type = \"data\";\n }\n }\n return events;\n}\nfunction tokenizeAttention(effects, ok2) {\n const attentionMarkers2 = this.parser.constructs.attentionMarkers.null;\n const previous2 = this.previous;\n const before = classifyCharacter(previous2);\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"attentionSequence\");\n marker = code2;\n return sequence(code2);\n }\n function sequence(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n return sequence;\n }\n const token = effects.exit(\"attentionSequence\");\n const after = classifyCharacter(code2);\n const open = !after || after === 2 && before || attentionMarkers2.includes(code2);\n const close = !before || before === 2 && after || attentionMarkers2.includes(previous2);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok2(code2);\n }\n}\nfunction movePoint(point2, offset) {\n point2.column += offset;\n point2.offset += offset;\n point2._bufferIndex += offset;\n}\nconst autolink = {\n name: \"autolink\",\n tokenize: tokenizeAutolink\n};\nfunction tokenizeAutolink(effects, ok2, nok) {\n let size = 1;\n return start;\n function start(code2) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code2);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n function open(code2) {\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return schemeOrEmailAtext;\n }\n return asciiAtext(code2) ? emailAtext(code2) : nok(code2);\n }\n function schemeOrEmailAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || asciiAlphanumeric(code2) ? schemeInsideOrEmailAtext(code2) : emailAtext(code2);\n }\n function schemeInsideOrEmailAtext(code2) {\n if (code2 === 58) {\n effects.consume(code2);\n return urlInside;\n }\n if ((code2 === 43 || code2 === 45 || code2 === 46 || asciiAlphanumeric(code2)) && size++ < 32) {\n effects.consume(code2);\n return schemeInsideOrEmailAtext;\n }\n return emailAtext(code2);\n }\n function urlInside(code2) {\n if (code2 === 62) {\n effects.exit(\"autolinkProtocol\");\n return end(code2);\n }\n if (code2 === null || code2 === 32 || code2 === 60 || asciiControl(code2)) {\n return nok(code2);\n }\n effects.consume(code2);\n return urlInside;\n }\n function emailAtext(code2) {\n if (code2 === 64) {\n effects.consume(code2);\n size = 0;\n return emailAtSignOrDot;\n }\n if (asciiAtext(code2)) {\n effects.consume(code2);\n return emailAtext;\n }\n return nok(code2);\n }\n function emailAtSignOrDot(code2) {\n return asciiAlphanumeric(code2) ? emailLabel(code2) : nok(code2);\n }\n function emailLabel(code2) {\n if (code2 === 46) {\n effects.consume(code2);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code2 === 62) {\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n return end(code2);\n }\n return emailValue(code2);\n }\n function emailValue(code2) {\n if ((code2 === 45 || asciiAlphanumeric(code2)) && size++ < 63) {\n effects.consume(code2);\n return code2 === 45 ? emailValue : emailLabel;\n }\n return nok(code2);\n }\n function end(code2) {\n effects.enter(\"autolinkMarker\");\n effects.consume(code2);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok2;\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return factorySpace(effects, afterWhitespace, \"linePrefix\");\n function afterWhitespace(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst blockQuote = {\n name: \"blockQuote\",\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n};\nfunction tokenizeBlockQuoteStart(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n if (code2 === 62) {\n const state = self.containerState;\n if (!state.open) {\n effects.enter(\"blockQuote\", {\n _container: true\n });\n state.open = true;\n }\n effects.enter(\"blockQuotePrefix\");\n effects.enter(\"blockQuoteMarker\");\n effects.consume(code2);\n effects.exit(\"blockQuoteMarker\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownSpace(code2)) {\n effects.enter(\"blockQuotePrefixWhitespace\");\n effects.consume(code2);\n effects.exit(\"blockQuotePrefixWhitespace\");\n effects.exit(\"blockQuotePrefix\");\n return ok2;\n }\n effects.exit(\"blockQuotePrefix\");\n return ok2(code2);\n }\n}\nfunction tokenizeBlockQuoteContinuation(effects, ok2, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok2, nok),\n \"linePrefix\",\n this.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n}\nfunction exit(effects) {\n effects.exit(\"blockQuote\");\n}\nconst characterEscape = {\n name: \"characterEscape\",\n tokenize: tokenizeCharacterEscape\n};\nfunction tokenizeCharacterEscape(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code2);\n effects.exit(\"escapeMarker\");\n return open;\n }\n function open(code2) {\n if (asciiPunctuation(code2)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code2);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok2;\n }\n return nok(code2);\n }\n}\nconst element$1 = document.createElement(\"i\");\nfunction decodeNamedCharacterReference(value) {\n const characterReference2 = \"&\" + value + \";\";\n element$1.innerHTML = characterReference2;\n const char = element$1.textContent;\n if (char.charCodeAt(char.length - 1) === 59 && value !== \"semi\") {\n return false;\n }\n return char === characterReference2 ? false : char;\n}\nconst characterReference = {\n name: \"characterReference\",\n tokenize: tokenizeCharacterReference\n};\nfunction tokenizeCharacterReference(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let max;\n let test;\n return start;\n function start(code2) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n function open(code2) {\n if (code2 === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code2);\n }\n function numeric(code2) {\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code2);\n }\n function value(code2) {\n let token;\n if (code2 === 59 && size) {\n token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code2);\n }\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok2;\n }\n if (test(code2) && size++ < max) {\n effects.consume(code2);\n return value;\n }\n return nok(code2);\n }\n}\nconst codeFenced = {\n name: \"codeFenced\",\n tokenize: tokenizeCodeFenced,\n concrete: true\n};\nfunction tokenizeCodeFenced(effects, ok2, nok) {\n const self = this;\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n };\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n };\n const tail = this.events[this.events.length - 1];\n const initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let sizeOpen = 0;\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n marker = code2;\n return sequenceOpen(code2);\n }\n function sequenceOpen(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeFencedFenceSequence\");\n return sizeOpen < 3 ? nok(code2) : factorySpace(effects, infoOpen, \"whitespace\")(code2);\n }\n function infoOpen(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return openAfter(code2);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code2);\n }\n function info(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, infoAfter, \"whitespace\")(code2);\n }\n if (code2 === 96 && code2 === marker)\n return nok(code2);\n effects.consume(code2);\n return info;\n }\n function infoAfter(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return openAfter(code2);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code2);\n }\n function meta(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return openAfter(code2);\n }\n if (code2 === 96 && code2 === marker)\n return nok(code2);\n effects.consume(code2);\n return meta;\n }\n function openAfter(code2) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok2(code2) : contentStart(code2);\n }\n function contentStart(code2) {\n if (code2 === null) {\n return after(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix ? factorySpace(\n effects,\n contentStart,\n \"linePrefix\",\n initialPrefix + 1\n ) : contentStart\n ),\n after\n )(code2);\n }\n effects.enter(\"codeFlowValue\");\n return contentContinue(code2);\n }\n function contentContinue(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"codeFlowValue\");\n return contentStart(code2);\n }\n effects.consume(code2);\n return contentContinue;\n }\n function after(code2) {\n effects.exit(\"codeFenced\");\n return ok2(code2);\n }\n function tokenizeNonLazyLine(effects2, ok3, nok2) {\n const self2 = this;\n return start2;\n function start2(code2) {\n effects2.enter(\"lineEnding\");\n effects2.consume(code2);\n effects2.exit(\"lineEnding\");\n return lineStart;\n }\n function lineStart(code2) {\n return self2.parser.lazy[self2.now().line] ? nok2(code2) : ok3(code2);\n }\n }\n function tokenizeClosingFence(effects2, ok3, nok2) {\n let size = 0;\n return factorySpace(\n effects2,\n closingSequenceStart,\n \"linePrefix\",\n this.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n function closingSequenceStart(code2) {\n effects2.enter(\"codeFencedFence\");\n effects2.enter(\"codeFencedFenceSequence\");\n return closingSequence(code2);\n }\n function closingSequence(code2) {\n if (code2 === marker) {\n effects2.consume(code2);\n size++;\n return closingSequence;\n }\n if (size < sizeOpen)\n return nok2(code2);\n effects2.exit(\"codeFencedFenceSequence\");\n return factorySpace(effects2, closingSequenceEnd, \"whitespace\")(code2);\n }\n function closingSequenceEnd(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects2.exit(\"codeFencedFence\");\n return ok3(code2);\n }\n return nok2(code2);\n }\n }\n}\nconst codeIndented = {\n name: \"codeIndented\",\n tokenize: tokenizeCodeIndented\n};\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n};\nfunction tokenizeCodeIndented(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n effects.enter(\"codeIndented\");\n return factorySpace(effects, afterStartPrefix, \"linePrefix\", 4 + 1)(code2);\n }\n function afterStartPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? afterPrefix(code2) : nok(code2);\n }\n function afterPrefix(code2) {\n if (code2 === null) {\n return after(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code2);\n }\n effects.enter(\"codeFlowValue\");\n return content2(code2);\n }\n function content2(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"codeFlowValue\");\n return afterPrefix(code2);\n }\n effects.consume(code2);\n return content2;\n }\n function after(code2) {\n effects.exit(\"codeIndented\");\n return ok2(code2);\n }\n}\nfunction tokenizeIndentedContent(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return start;\n }\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code2);\n }\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? ok2(code2) : markdownLineEnding(code2) ? start(code2) : nok(code2);\n }\n}\nconst codeText = {\n name: \"codeText\",\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n};\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n let index2;\n let enter;\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === \"space\") && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === \"space\")) {\n index2 = headEnterIndex;\n while (++index2 < tailExitIndex) {\n if (events[index2][1].type === \"codeTextData\") {\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n index2 = headEnterIndex - 1;\n tailExitIndex++;\n while (++index2 <= tailExitIndex) {\n if (enter === void 0) {\n if (index2 !== tailExitIndex && events[index2][1].type !== \"lineEnding\") {\n enter = index2;\n }\n } else if (index2 === tailExitIndex || events[index2][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index2 !== enter + 2) {\n events[enter][1].end = events[index2 - 1][1].end;\n events.splice(enter + 2, index2 - enter - 2);\n tailExitIndex -= index2 - enter - 2;\n index2 = enter + 2;\n }\n enter = void 0;\n }\n }\n return events;\n}\nfunction previous(code2) {\n return code2 !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\nfunction tokenizeCodeText(effects, ok2, nok) {\n let sizeOpen = 0;\n let size;\n let token;\n return start;\n function start(code2) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return openingSequence(code2);\n }\n function openingSequence(code2) {\n if (code2 === 96) {\n effects.consume(code2);\n sizeOpen++;\n return openingSequence;\n }\n effects.exit(\"codeTextSequence\");\n return gap(code2);\n }\n function gap(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return closingSequence(code2);\n }\n if (code2 === 32) {\n effects.enter(\"space\");\n effects.consume(code2);\n effects.exit(\"space\");\n return gap;\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return gap;\n }\n effects.enter(\"codeTextData\");\n return data(code2);\n }\n function data(code2) {\n if (code2 === null || code2 === 32 || code2 === 96 || markdownLineEnding(code2)) {\n effects.exit(\"codeTextData\");\n return gap(code2);\n }\n effects.consume(code2);\n return data;\n }\n function closingSequence(code2) {\n if (code2 === 96) {\n effects.consume(code2);\n size++;\n return closingSequence;\n }\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok2(code2);\n }\n token.type = \"codeTextData\";\n return data(code2);\n }\n}\nfunction subtokenize(events) {\n const jumps = {};\n let index2 = -1;\n let event;\n let lineIndex;\n let otherIndex;\n let otherEvent;\n let parameters;\n let subevents;\n let more;\n while (++index2 < events.length) {\n while (index2 in jumps) {\n index2 = jumps[index2];\n }\n event = events[index2];\n if (index2 && event[1].type === \"chunkFlow\" && events[index2 - 1][1].type === \"listItemPrefix\") {\n subevents = event[1]._tokenizer.events;\n otherIndex = 0;\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"lineEndingBlank\") {\n otherIndex += 2;\n }\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"content\") {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === \"content\") {\n break;\n }\n if (subevents[otherIndex][1].type === \"chunkText\") {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true;\n otherIndex++;\n }\n }\n }\n }\n if (event[0] === \"enter\") {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index2));\n index2 = jumps[index2];\n more = true;\n }\n } else if (event[1]._container) {\n otherIndex = index2;\n lineIndex = void 0;\n while (otherIndex--) {\n otherEvent = events[otherIndex];\n if (otherEvent[1].type === \"lineEnding\" || otherEvent[1].type === \"lineEndingBlank\") {\n if (otherEvent[0] === \"enter\") {\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n }\n otherEvent[1].type = \"lineEnding\";\n lineIndex = otherIndex;\n }\n } else {\n break;\n }\n }\n if (lineIndex) {\n event[1].end = Object.assign({}, events[lineIndex][1].start);\n parameters = events.slice(lineIndex, index2);\n parameters.unshift(event);\n splice(events, lineIndex, index2 - lineIndex + 1, parameters);\n }\n }\n }\n return !more;\n}\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1];\n const context = events[eventIndex][2];\n let startPosition = eventIndex - 1;\n const startPositions = [];\n const tokenizer = token._tokenizer || context.parser[token.contentType](token.start);\n const childEvents = tokenizer.events;\n const jumps = [];\n const gaps = {};\n let stream;\n let previous2;\n let index2 = -1;\n let current = token;\n let adjust = 0;\n let start = 0;\n const breaks = [start];\n while (current) {\n while (events[++startPosition][1] !== current) {\n }\n startPositions.push(startPosition);\n if (!current._tokenizer) {\n stream = context.sliceStream(current);\n if (!current.next) {\n stream.push(null);\n }\n if (previous2) {\n tokenizer.defineSkip(current.start);\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true;\n }\n tokenizer.write(stream);\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = void 0;\n }\n }\n previous2 = current;\n current = current.next;\n }\n current = token;\n while (++index2 < childEvents.length) {\n if (childEvents[index2][0] === \"exit\" && childEvents[index2 - 1][0] === \"enter\" && childEvents[index2][1].type === childEvents[index2 - 1][1].type && childEvents[index2][1].start.line !== childEvents[index2][1].end.line) {\n start = index2 + 1;\n breaks.push(start);\n current._tokenizer = void 0;\n current.previous = void 0;\n current = current.next;\n }\n }\n tokenizer.events = [];\n if (current) {\n current._tokenizer = void 0;\n current.previous = void 0;\n } else {\n breaks.pop();\n }\n index2 = breaks.length;\n while (index2--) {\n const slice = childEvents.slice(breaks[index2], breaks[index2 + 1]);\n const start2 = startPositions.pop();\n jumps.unshift([start2, start2 + slice.length - 1]);\n splice(events, start2, 2, slice);\n }\n index2 = -1;\n while (++index2 < jumps.length) {\n gaps[adjust + jumps[index2][0]] = adjust + jumps[index2][1];\n adjust += jumps[index2][1] - jumps[index2][0] - 1;\n }\n return gaps;\n}\nconst content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n};\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n};\nfunction resolveContent(events) {\n subtokenize(events);\n return events;\n}\nfunction tokenizeContent(effects, ok2) {\n let previous2;\n return start;\n function start(code2) {\n effects.enter(\"content\");\n previous2 = effects.enter(\"chunkContent\", {\n contentType: \"content\"\n });\n return data(code2);\n }\n function data(code2) {\n if (code2 === null) {\n return contentEnd(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code2);\n }\n effects.consume(code2);\n return data;\n }\n function contentEnd(code2) {\n effects.exit(\"chunkContent\");\n effects.exit(\"content\");\n return ok2(code2);\n }\n function contentContinue(code2) {\n effects.consume(code2);\n effects.exit(\"chunkContent\");\n previous2.next = effects.enter(\"chunkContent\", {\n contentType: \"content\",\n previous: previous2\n });\n previous2 = previous2.next;\n return data;\n }\n}\nfunction tokenizeContinuation(effects, ok2, nok) {\n const self = this;\n return startLookahead;\n function startLookahead(code2) {\n effects.exit(\"chunkContent\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, prefixed, \"linePrefix\");\n }\n function prefixed(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return nok(code2);\n }\n const tail = self.events[self.events.length - 1];\n if (!self.parser.constructs.disable.null.includes(\"codeIndented\") && tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4) {\n return ok2(code2);\n }\n return effects.interrupt(self.parser.constructs.flow, nok, ok2)(code2);\n }\n}\nfunction factoryDestination(effects, ok2, nok, type, literalType, literalMarkerType, rawType, stringType, max) {\n const limit = max || Number.POSITIVE_INFINITY;\n let balance = 0;\n return start;\n function start(code2) {\n if (code2 === 60) {\n effects.enter(type);\n effects.enter(literalType);\n effects.enter(literalMarkerType);\n effects.consume(code2);\n effects.exit(literalMarkerType);\n return destinationEnclosedBefore;\n }\n if (code2 === null || code2 === 41 || asciiControl(code2)) {\n return nok(code2);\n }\n effects.enter(type);\n effects.enter(rawType);\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return destinationRaw(code2);\n }\n function destinationEnclosedBefore(code2) {\n if (code2 === 62) {\n effects.enter(literalMarkerType);\n effects.consume(code2);\n effects.exit(literalMarkerType);\n effects.exit(literalType);\n effects.exit(type);\n return ok2;\n }\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return destinationEnclosed(code2);\n }\n function destinationEnclosed(code2) {\n if (code2 === 62) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n return destinationEnclosedBefore(code2);\n }\n if (code2 === null || code2 === 60 || markdownLineEnding(code2)) {\n return nok(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? destinationEnclosedEscape : destinationEnclosed;\n }\n function destinationEnclosedEscape(code2) {\n if (code2 === 60 || code2 === 62 || code2 === 92) {\n effects.consume(code2);\n return destinationEnclosed;\n }\n return destinationEnclosed(code2);\n }\n function destinationRaw(code2) {\n if (code2 === 40) {\n if (++balance > limit)\n return nok(code2);\n effects.consume(code2);\n return destinationRaw;\n }\n if (code2 === 41) {\n if (!balance--) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok2(code2);\n }\n effects.consume(code2);\n return destinationRaw;\n }\n if (code2 === null || markdownLineEndingOrSpace(code2)) {\n if (balance)\n return nok(code2);\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok2(code2);\n }\n if (asciiControl(code2))\n return nok(code2);\n effects.consume(code2);\n return code2 === 92 ? destinationRawEscape : destinationRaw;\n }\n function destinationRawEscape(code2) {\n if (code2 === 40 || code2 === 41 || code2 === 92) {\n effects.consume(code2);\n return destinationRaw;\n }\n return destinationRaw(code2);\n }\n}\nfunction factoryLabel(effects, ok2, nok, type, markerType, stringType) {\n const self = this;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n effects.enter(stringType);\n return atBreak;\n }\n function atBreak(code2) {\n if (code2 === null || code2 === 91 || code2 === 93 && !data || code2 === 94 && !size && \"_hiddenFootnoteSupport\" in self.parser.constructs || size > 999) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(stringType);\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n effects.exit(type);\n return ok2;\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return atBreak;\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return label(code2);\n }\n function label(code2) {\n if (code2 === null || code2 === 91 || code2 === 93 || markdownLineEnding(code2) || size++ > 999) {\n effects.exit(\"chunkString\");\n return atBreak(code2);\n }\n effects.consume(code2);\n data = data || !markdownSpace(code2);\n return code2 === 92 ? labelEscape : label;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return label;\n }\n return label(code2);\n }\n}\nfunction factoryTitle(effects, ok2, nok, type, markerType, stringType) {\n let marker;\n return start;\n function start(code2) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n marker = code2 === 40 ? 41 : code2;\n return atFirstTitleBreak;\n }\n function atFirstTitleBreak(code2) {\n if (code2 === marker) {\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n effects.exit(type);\n return ok2;\n }\n effects.enter(stringType);\n return atTitleBreak(code2);\n }\n function atTitleBreak(code2) {\n if (code2 === marker) {\n effects.exit(stringType);\n return atFirstTitleBreak(marker);\n }\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, atTitleBreak, \"linePrefix\");\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return title(code2);\n }\n function title(code2) {\n if (code2 === marker || code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"chunkString\");\n return atTitleBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? titleEscape : title;\n }\n function titleEscape(code2) {\n if (code2 === marker || code2 === 92) {\n effects.consume(code2);\n return title;\n }\n return title(code2);\n }\n}\nfunction factoryWhitespace(effects, ok2) {\n let seen;\n return start;\n function start(code2) {\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n seen = true;\n return start;\n }\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n start,\n seen ? \"linePrefix\" : \"lineSuffix\"\n )(code2);\n }\n return ok2(code2);\n }\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nconst definition = {\n name: \"definition\",\n tokenize: tokenizeDefinition\n};\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n};\nfunction tokenizeDefinition(effects, ok2, nok) {\n const self = this;\n let identifier;\n return start;\n function start(code2) {\n effects.enter(\"definition\");\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n \"definitionLabel\",\n \"definitionLabelMarker\",\n \"definitionLabelString\"\n )(code2);\n }\n function labelAfter(code2) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n );\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, \"whitespace\"),\n factorySpace(effects, after, \"whitespace\")\n ),\n nok,\n \"definitionDestination\",\n \"definitionDestinationLiteral\",\n \"definitionDestinationLiteralMarker\",\n \"definitionDestinationRaw\",\n \"definitionDestinationString\"\n )\n );\n }\n return nok(code2);\n }\n function after(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"definition\");\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier);\n }\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeTitle(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownLineEndingOrSpace(code2) ? factoryWhitespace(effects, before)(code2) : nok(code2);\n }\n function before(code2) {\n if (code2 === 34 || code2 === 39 || code2 === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, \"whitespace\"),\n nok,\n \"definitionTitle\",\n \"definitionTitleMarker\",\n \"definitionTitleString\"\n )(code2);\n }\n return nok(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst hardBreakEscape = {\n name: \"hardBreakEscape\",\n tokenize: tokenizeHardBreakEscape\n};\nfunction tokenizeHardBreakEscape(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"hardBreakEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code2);\n return open;\n }\n function open(code2) {\n if (markdownLineEnding(code2)) {\n effects.exit(\"escapeMarker\");\n effects.exit(\"hardBreakEscape\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nconst headingAtx = {\n name: \"headingAtx\",\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n};\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2;\n let contentStart = 3;\n let content2;\n let text2;\n if (events[contentStart][1].type === \"whitespace\") {\n contentStart += 2;\n }\n if (contentEnd - 2 > contentStart && events[contentEnd][1].type === \"whitespace\") {\n contentEnd -= 2;\n }\n if (events[contentEnd][1].type === \"atxHeadingSequence\" && (contentStart === contentEnd - 1 || contentEnd - 4 > contentStart && events[contentEnd - 2][1].type === \"whitespace\")) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;\n }\n if (contentEnd > contentStart) {\n content2 = {\n type: \"atxHeadingText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n };\n text2 = {\n type: \"chunkText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: \"text\"\n };\n splice(events, contentStart, contentEnd - contentStart + 1, [\n [\"enter\", content2, context],\n [\"enter\", text2, context],\n [\"exit\", text2, context],\n [\"exit\", content2, context]\n ]);\n }\n return events;\n}\nfunction tokenizeHeadingAtx(effects, ok2, nok) {\n const self = this;\n let size = 0;\n return start;\n function start(code2) {\n effects.enter(\"atxHeading\");\n effects.enter(\"atxHeadingSequence\");\n return fenceOpenInside(code2);\n }\n function fenceOpenInside(code2) {\n if (code2 === 35 && size++ < 6) {\n effects.consume(code2);\n return fenceOpenInside;\n }\n if (code2 === null || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"atxHeadingSequence\");\n return self.interrupt ? ok2(code2) : headingBreak(code2);\n }\n return nok(code2);\n }\n function headingBreak(code2) {\n if (code2 === 35) {\n effects.enter(\"atxHeadingSequence\");\n return sequence(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"atxHeading\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headingBreak, \"whitespace\")(code2);\n }\n effects.enter(\"atxHeadingText\");\n return data(code2);\n }\n function sequence(code2) {\n if (code2 === 35) {\n effects.consume(code2);\n return sequence;\n }\n effects.exit(\"atxHeadingSequence\");\n return headingBreak(code2);\n }\n function data(code2) {\n if (code2 === null || code2 === 35 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"atxHeadingText\");\n return headingBreak(code2);\n }\n effects.consume(code2);\n return data;\n }\n}\nconst htmlBlockNames = [\n \"address\",\n \"article\",\n \"aside\",\n \"base\",\n \"basefont\",\n \"blockquote\",\n \"body\",\n \"caption\",\n \"center\",\n \"col\",\n \"colgroup\",\n \"dd\",\n \"details\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"html\",\n \"iframe\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"menu\",\n \"menuitem\",\n \"nav\",\n \"noframes\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"p\",\n \"param\",\n \"section\",\n \"summary\",\n \"table\",\n \"tbody\",\n \"td\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"title\",\n \"tr\",\n \"track\",\n \"ul\"\n];\nconst htmlRawNames = [\"pre\", \"script\", \"style\", \"textarea\"];\nconst htmlFlow = {\n name: \"htmlFlow\",\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n};\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n};\nfunction resolveToHtmlFlow(events) {\n let index2 = events.length;\n while (index2--) {\n if (events[index2][0] === \"enter\" && events[index2][1].type === \"htmlFlow\") {\n break;\n }\n }\n if (index2 > 1 && events[index2 - 2][1].type === \"linePrefix\") {\n events[index2][1].start = events[index2 - 2][1].start;\n events[index2 + 1][1].start = events[index2 - 2][1].start;\n events.splice(index2 - 2, 2);\n }\n return events;\n}\nfunction tokenizeHtmlFlow(effects, ok2, nok) {\n const self = this;\n let kind;\n let startTag;\n let buffer;\n let index2;\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"htmlFlow\");\n effects.enter(\"htmlFlowData\");\n effects.consume(code2);\n return open;\n }\n function open(code2) {\n if (code2 === 33) {\n effects.consume(code2);\n return declarationStart;\n }\n if (code2 === 47) {\n effects.consume(code2);\n return tagCloseStart;\n }\n if (code2 === 63) {\n effects.consume(code2);\n kind = 3;\n return self.interrupt ? ok2 : continuationDeclarationInside;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n buffer = String.fromCharCode(code2);\n startTag = true;\n return tagName;\n }\n return nok(code2);\n }\n function declarationStart(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n kind = 2;\n return commentOpenInside;\n }\n if (code2 === 91) {\n effects.consume(code2);\n kind = 5;\n buffer = \"CDATA[\";\n index2 = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n kind = 4;\n return self.interrupt ? ok2 : continuationDeclarationInside;\n }\n return nok(code2);\n }\n function commentOpenInside(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return self.interrupt ? ok2 : continuationDeclarationInside;\n }\n return nok(code2);\n }\n function cdataOpenInside(code2) {\n if (code2 === buffer.charCodeAt(index2++)) {\n effects.consume(code2);\n return index2 === buffer.length ? self.interrupt ? ok2 : continuation : cdataOpenInside;\n }\n return nok(code2);\n }\n function tagCloseStart(code2) {\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n buffer = String.fromCharCode(code2);\n return tagName;\n }\n return nok(code2);\n }\n function tagName(code2) {\n if (code2 === null || code2 === 47 || code2 === 62 || markdownLineEndingOrSpace(code2)) {\n if (code2 !== 47 && startTag && htmlRawNames.includes(buffer.toLowerCase())) {\n kind = 1;\n return self.interrupt ? ok2(code2) : continuation(code2);\n }\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6;\n if (code2 === 47) {\n effects.consume(code2);\n return basicSelfClosing;\n }\n return self.interrupt ? ok2(code2) : continuation(code2);\n }\n kind = 7;\n return self.interrupt && !self.parser.lazy[self.now().line] ? nok(code2) : startTag ? completeAttributeNameBefore(code2) : completeClosingTagAfter(code2);\n }\n if (code2 === 45 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n buffer += String.fromCharCode(code2);\n return tagName;\n }\n return nok(code2);\n }\n function basicSelfClosing(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n return self.interrupt ? ok2 : continuation;\n }\n return nok(code2);\n }\n function completeClosingTagAfter(code2) {\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeClosingTagAfter;\n }\n return completeEnd(code2);\n }\n function completeAttributeNameBefore(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n return completeEnd;\n }\n if (code2 === 58 || code2 === 95 || asciiAlpha(code2)) {\n effects.consume(code2);\n return completeAttributeName;\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAttributeNameBefore;\n }\n return completeEnd(code2);\n }\n function completeAttributeName(code2) {\n if (code2 === 45 || code2 === 46 || code2 === 58 || code2 === 95 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return completeAttributeName;\n }\n return completeAttributeNameAfter(code2);\n }\n function completeAttributeNameAfter(code2) {\n if (code2 === 61) {\n effects.consume(code2);\n return completeAttributeValueBefore;\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAttributeNameAfter;\n }\n return completeAttributeNameBefore(code2);\n }\n function completeAttributeValueBefore(code2) {\n if (code2 === null || code2 === 60 || code2 === 61 || code2 === 62 || code2 === 96) {\n return nok(code2);\n }\n if (code2 === 34 || code2 === 39) {\n effects.consume(code2);\n marker = code2;\n return completeAttributeValueQuoted;\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAttributeValueBefore;\n }\n marker = null;\n return completeAttributeValueUnquoted(code2);\n }\n function completeAttributeValueQuoted(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return nok(code2);\n }\n if (code2 === marker) {\n effects.consume(code2);\n return completeAttributeValueQuotedAfter;\n }\n effects.consume(code2);\n return completeAttributeValueQuoted;\n }\n function completeAttributeValueUnquoted(code2) {\n if (code2 === null || code2 === 34 || code2 === 39 || code2 === 60 || code2 === 61 || code2 === 62 || code2 === 96 || markdownLineEndingOrSpace(code2)) {\n return completeAttributeNameAfter(code2);\n }\n effects.consume(code2);\n return completeAttributeValueUnquoted;\n }\n function completeAttributeValueQuotedAfter(code2) {\n if (code2 === 47 || code2 === 62 || markdownSpace(code2)) {\n return completeAttributeNameBefore(code2);\n }\n return nok(code2);\n }\n function completeEnd(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n return completeAfter;\n }\n return nok(code2);\n }\n function completeAfter(code2) {\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAfter;\n }\n return code2 === null || markdownLineEnding(code2) ? continuation(code2) : nok(code2);\n }\n function continuation(code2) {\n if (code2 === 45 && kind === 2) {\n effects.consume(code2);\n return continuationCommentInside;\n }\n if (code2 === 60 && kind === 1) {\n effects.consume(code2);\n return continuationRawTagOpen;\n }\n if (code2 === 62 && kind === 4) {\n effects.consume(code2);\n return continuationClose;\n }\n if (code2 === 63 && kind === 3) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n if (code2 === 93 && kind === 5) {\n effects.consume(code2);\n return continuationCharacterDataInside;\n }\n if (markdownLineEnding(code2) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return continuationAtLineEnding(code2);\n }\n effects.consume(code2);\n return continuation;\n }\n function continuationAtLineEnding(code2) {\n effects.exit(\"htmlFlowData\");\n return htmlContinueStart(code2);\n }\n function htmlContinueStart(code2) {\n if (code2 === null) {\n return done(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code2);\n }\n effects.enter(\"htmlFlowData\");\n return continuation(code2);\n }\n function htmlLineEnd(effects2, ok3, nok2) {\n return start2;\n function start2(code2) {\n effects2.enter(\"lineEnding\");\n effects2.consume(code2);\n effects2.exit(\"lineEnding\");\n return lineStart;\n }\n function lineStart(code2) {\n return self.parser.lazy[self.now().line] ? nok2(code2) : ok3(code2);\n }\n }\n function continuationCommentInside(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n return continuation(code2);\n }\n function continuationRawTagOpen(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n buffer = \"\";\n return continuationRawEndTag;\n }\n return continuation(code2);\n }\n function continuationRawEndTag(code2) {\n if (code2 === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code2);\n return continuationClose;\n }\n if (asciiAlpha(code2) && buffer.length < 8) {\n effects.consume(code2);\n buffer += String.fromCharCode(code2);\n return continuationRawEndTag;\n }\n return continuation(code2);\n }\n function continuationCharacterDataInside(code2) {\n if (code2 === 93) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n return continuation(code2);\n }\n function continuationDeclarationInside(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n return continuationClose;\n }\n if (code2 === 45 && kind === 2) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n return continuation(code2);\n }\n function continuationClose(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"htmlFlowData\");\n return done(code2);\n }\n effects.consume(code2);\n return continuationClose;\n }\n function done(code2) {\n effects.exit(\"htmlFlow\");\n return ok2(code2);\n }\n}\nfunction tokenizeNextBlank(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.exit(\"htmlFlowData\");\n effects.enter(\"lineEndingBlank\");\n effects.consume(code2);\n effects.exit(\"lineEndingBlank\");\n return effects.attempt(blankLine, ok2, nok);\n }\n}\nconst htmlText = {\n name: \"htmlText\",\n tokenize: tokenizeHtmlText\n};\nfunction tokenizeHtmlText(effects, ok2, nok) {\n const self = this;\n let marker;\n let buffer;\n let index2;\n let returnState;\n return start;\n function start(code2) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code2);\n return open;\n }\n function open(code2) {\n if (code2 === 33) {\n effects.consume(code2);\n return declarationOpen;\n }\n if (code2 === 47) {\n effects.consume(code2);\n return tagCloseStart;\n }\n if (code2 === 63) {\n effects.consume(code2);\n return instruction;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return tagOpen;\n }\n return nok(code2);\n }\n function declarationOpen(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return commentOpen;\n }\n if (code2 === 91) {\n effects.consume(code2);\n buffer = \"CDATA[\";\n index2 = 0;\n return cdataOpen;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return declaration;\n }\n return nok(code2);\n }\n function commentOpen(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return commentStart;\n }\n return nok(code2);\n }\n function commentStart(code2) {\n if (code2 === null || code2 === 62) {\n return nok(code2);\n }\n if (code2 === 45) {\n effects.consume(code2);\n return commentStartDash;\n }\n return comment(code2);\n }\n function commentStartDash(code2) {\n if (code2 === null || code2 === 62) {\n return nok(code2);\n }\n return comment(code2);\n }\n function comment(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 45) {\n effects.consume(code2);\n return commentClose;\n }\n if (markdownLineEnding(code2)) {\n returnState = comment;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return comment;\n }\n function commentClose(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return end;\n }\n return comment(code2);\n }\n function cdataOpen(code2) {\n if (code2 === buffer.charCodeAt(index2++)) {\n effects.consume(code2);\n return index2 === buffer.length ? cdata : cdataOpen;\n }\n return nok(code2);\n }\n function cdata(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.consume(code2);\n return cdataClose;\n }\n if (markdownLineEnding(code2)) {\n returnState = cdata;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return cdata;\n }\n function cdataClose(code2) {\n if (code2 === 93) {\n effects.consume(code2);\n return cdataEnd;\n }\n return cdata(code2);\n }\n function cdataEnd(code2) {\n if (code2 === 62) {\n return end(code2);\n }\n if (code2 === 93) {\n effects.consume(code2);\n return cdataEnd;\n }\n return cdata(code2);\n }\n function declaration(code2) {\n if (code2 === null || code2 === 62) {\n return end(code2);\n }\n if (markdownLineEnding(code2)) {\n returnState = declaration;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return declaration;\n }\n function instruction(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 63) {\n effects.consume(code2);\n return instructionClose;\n }\n if (markdownLineEnding(code2)) {\n returnState = instruction;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return instruction;\n }\n function instructionClose(code2) {\n return code2 === 62 ? end(code2) : instruction(code2);\n }\n function tagCloseStart(code2) {\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return tagClose;\n }\n return nok(code2);\n }\n function tagClose(code2) {\n if (code2 === 45 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return tagClose;\n }\n return tagCloseBetween(code2);\n }\n function tagCloseBetween(code2) {\n if (markdownLineEnding(code2)) {\n returnState = tagCloseBetween;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagCloseBetween;\n }\n return end(code2);\n }\n function tagOpen(code2) {\n if (code2 === 45 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return tagOpen;\n }\n if (code2 === 47 || code2 === 62 || markdownLineEndingOrSpace(code2)) {\n return tagOpenBetween(code2);\n }\n return nok(code2);\n }\n function tagOpenBetween(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n return end;\n }\n if (code2 === 58 || code2 === 95 || asciiAlpha(code2)) {\n effects.consume(code2);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenBetween;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagOpenBetween;\n }\n return end(code2);\n }\n function tagOpenAttributeName(code2) {\n if (code2 === 45 || code2 === 46 || code2 === 58 || code2 === 95 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code2);\n }\n function tagOpenAttributeNameAfter(code2) {\n if (code2 === 61) {\n effects.consume(code2);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenAttributeNameAfter;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code2);\n }\n function tagOpenAttributeValueBefore(code2) {\n if (code2 === null || code2 === 60 || code2 === 61 || code2 === 62 || code2 === 96) {\n return nok(code2);\n }\n if (code2 === 34 || code2 === 39) {\n effects.consume(code2);\n marker = code2;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenAttributeValueBefore;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code2);\n marker = void 0;\n return tagOpenAttributeValueUnquoted;\n }\n function tagOpenAttributeValueQuoted(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenAttributeValueQuoted;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return tagOpenAttributeValueQuoted;\n }\n function tagOpenAttributeValueQuotedAfter(code2) {\n if (code2 === 62 || code2 === 47 || markdownLineEndingOrSpace(code2)) {\n return tagOpenBetween(code2);\n }\n return nok(code2);\n }\n function tagOpenAttributeValueUnquoted(code2) {\n if (code2 === null || code2 === 34 || code2 === 39 || code2 === 60 || code2 === 61 || code2 === 96) {\n return nok(code2);\n }\n if (code2 === 62 || markdownLineEndingOrSpace(code2)) {\n return tagOpenBetween(code2);\n }\n effects.consume(code2);\n return tagOpenAttributeValueUnquoted;\n }\n function atLineEnding(code2) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(\n effects,\n afterPrefix,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n }\n function afterPrefix(code2) {\n effects.enter(\"htmlTextData\");\n return returnState(code2);\n }\n function end(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok2;\n }\n return nok(code2);\n }\n}\nconst labelEnd = {\n name: \"labelEnd\",\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n};\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n};\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n};\nfunction resolveAllLabelEnd(events) {\n let index2 = -1;\n let token;\n while (++index2 < events.length) {\n token = events[index2][1];\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n events.splice(index2 + 1, token.type === \"labelImage\" ? 4 : 2);\n token.type = \"data\";\n index2++;\n }\n }\n return events;\n}\nfunction resolveToLabelEnd(events, context) {\n let index2 = events.length;\n let offset = 0;\n let token;\n let open;\n let close;\n let media;\n while (index2--) {\n token = events[index2][1];\n if (open) {\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n if (events[index2][0] === \"enter\" && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index2][0] === \"enter\" && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index2;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index2;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const label = {\n type: \"label\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n };\n const text2 = {\n type: \"labelText\",\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n };\n media = [\n [\"enter\", group, context],\n [\"enter\", label, context]\n ];\n media = push(media, events.slice(open + 1, open + offset + 3));\n media = push(media, [[\"enter\", text2, context]]);\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n );\n media = push(media, [\n [\"exit\", text2, context],\n events[close - 2],\n events[close - 1],\n [\"exit\", label, context]\n ]);\n media = push(media, events.slice(close + 1));\n media = push(media, [[\"exit\", group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\nfunction tokenizeLabelEnd(effects, ok2, nok) {\n const self = this;\n let index2 = self.events.length;\n let labelStart;\n let defined;\n while (index2--) {\n if ((self.events[index2][1].type === \"labelImage\" || self.events[index2][1].type === \"labelLink\") && !self.events[index2][1]._balanced) {\n labelStart = self.events[index2][1];\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart) {\n return nok(code2);\n }\n if (labelStart._inactive)\n return balanced(code2);\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n );\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code2);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return afterLabelEnd;\n }\n function afterLabelEnd(code2) {\n if (code2 === 40) {\n return effects.attempt(\n resourceConstruct,\n ok2,\n defined ? ok2 : balanced\n )(code2);\n }\n if (code2 === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok2,\n defined ? effects.attempt(collapsedReferenceConstruct, ok2, balanced) : balanced\n )(code2);\n }\n return defined ? ok2(code2) : balanced(code2);\n }\n function balanced(code2) {\n labelStart._balanced = true;\n return nok(code2);\n }\n}\nfunction tokenizeResource(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code2);\n effects.exit(\"resourceMarker\");\n return factoryWhitespace(effects, open);\n }\n function open(code2) {\n if (code2 === 41) {\n return end(code2);\n }\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n \"resourceDestination\",\n \"resourceDestinationLiteral\",\n \"resourceDestinationLiteralMarker\",\n \"resourceDestinationRaw\",\n \"resourceDestinationString\",\n 32\n )(code2);\n }\n function destinationAfter(code2) {\n return markdownLineEndingOrSpace(code2) ? factoryWhitespace(effects, between)(code2) : end(code2);\n }\n function between(code2) {\n if (code2 === 34 || code2 === 39 || code2 === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n \"resourceTitle\",\n \"resourceTitleMarker\",\n \"resourceTitleString\"\n )(code2);\n }\n return end(code2);\n }\n function end(code2) {\n if (code2 === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code2);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok2;\n }\n return nok(code2);\n }\n}\nfunction tokenizeFullReference(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n \"reference\",\n \"referenceMarker\",\n \"referenceString\"\n )(code2);\n }\n function afterLabel(code2) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n ) ? ok2(code2) : nok(code2);\n }\n}\nfunction tokenizeCollapsedReference(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code2);\n effects.exit(\"referenceMarker\");\n return open;\n }\n function open(code2) {\n if (code2 === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code2);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok2;\n }\n return nok(code2);\n }\n}\nconst labelStartImage = {\n name: \"labelStartImage\",\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n};\nfunction tokenizeLabelStartImage(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code2);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n function open(code2) {\n if (code2 === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code2);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n return code2 === 94 && \"_hiddenFootnoteSupport\" in self.parser.constructs ? nok(code2) : ok2(code2);\n }\n}\nconst labelStartLink = {\n name: \"labelStartLink\",\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n};\nfunction tokenizeLabelStartLink(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code2);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n function after(code2) {\n return code2 === 94 && \"_hiddenFootnoteSupport\" in self.parser.constructs ? nok(code2) : ok2(code2);\n }\n}\nconst lineEnding = {\n name: \"lineEnding\",\n tokenize: tokenizeLineEnding\n};\nfunction tokenizeLineEnding(effects, ok2) {\n return start;\n function start(code2) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok2, \"linePrefix\");\n }\n}\nconst thematicBreak$1 = {\n name: \"thematicBreak\",\n tokenize: tokenizeThematicBreak\n};\nfunction tokenizeThematicBreak(effects, ok2, nok) {\n let size = 0;\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"thematicBreak\");\n marker = code2;\n return atBreak(code2);\n }\n function atBreak(code2) {\n if (code2 === marker) {\n effects.enter(\"thematicBreakSequence\");\n return sequence(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, atBreak, \"whitespace\")(code2);\n }\n if (size < 3 || code2 !== null && !markdownLineEnding(code2)) {\n return nok(code2);\n }\n effects.exit(\"thematicBreak\");\n return ok2(code2);\n }\n function sequence(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n size++;\n return sequence;\n }\n effects.exit(\"thematicBreakSequence\");\n return atBreak(code2);\n }\n}\nconst list$1 = {\n name: \"list\",\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n};\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n};\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction tokenizeListStart(effects, ok2, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n let initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let size = 0;\n return start;\n function start(code2) {\n const kind = self.containerState.type || (code2 === 42 || code2 === 43 || code2 === 45 ? \"listUnordered\" : \"listOrdered\");\n if (kind === \"listUnordered\" ? !self.containerState.marker || code2 === self.containerState.marker : asciiDigit(code2)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n if (kind === \"listUnordered\") {\n effects.enter(\"listItemPrefix\");\n return code2 === 42 || code2 === 45 ? effects.check(thematicBreak$1, nok, atMarker)(code2) : atMarker(code2);\n }\n if (!self.interrupt || code2 === 49) {\n effects.enter(\"listItemPrefix\");\n effects.enter(\"listItemValue\");\n return inside(code2);\n }\n }\n return nok(code2);\n }\n function inside(code2) {\n if (asciiDigit(code2) && ++size < 10) {\n effects.consume(code2);\n return inside;\n }\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code2 === self.containerState.marker : code2 === 41 || code2 === 46)) {\n effects.exit(\"listItemValue\");\n return atMarker(code2);\n }\n return nok(code2);\n }\n function atMarker(code2) {\n effects.enter(\"listItemMarker\");\n effects.consume(code2);\n effects.exit(\"listItemMarker\");\n self.containerState.marker = self.containerState.marker || code2;\n return effects.check(\n blankLine,\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n );\n }\n function onBlank(code2) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code2);\n }\n function otherPrefix(code2) {\n if (markdownSpace(code2)) {\n effects.enter(\"listItemPrefixWhitespace\");\n effects.consume(code2);\n effects.exit(\"listItemPrefixWhitespace\");\n return endOfPrefix;\n }\n return nok(code2);\n }\n function endOfPrefix(code2) {\n self.containerState.size = initialSize + self.sliceSerialize(effects.exit(\"listItemPrefix\"), true).length;\n return ok2(code2);\n }\n}\nfunction tokenizeListContinuation(effects, ok2, nok) {\n const self = this;\n self.containerState._closeFlow = void 0;\n return effects.check(blankLine, onBlank, notBlank);\n function onBlank(code2) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine;\n return factorySpace(\n effects,\n ok2,\n \"listItemIndent\",\n self.containerState.size + 1\n )(code2);\n }\n function notBlank(code2) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code2)) {\n self.containerState.furtherBlankLines = void 0;\n self.containerState.initialBlankLine = void 0;\n return notInCurrentItem(code2);\n }\n self.containerState.furtherBlankLines = void 0;\n self.containerState.initialBlankLine = void 0;\n return effects.attempt(indentConstruct, ok2, notInCurrentItem)(code2);\n }\n function notInCurrentItem(code2) {\n self.containerState._closeFlow = true;\n self.interrupt = void 0;\n return factorySpace(\n effects,\n effects.attempt(list$1, ok2, nok),\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"listItemIndent\",\n self.containerState.size + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"listItemIndent\" && tail[2].sliceSerialize(tail[1], true).length === self.containerState.size ? ok2(code2) : nok(code2);\n }\n}\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\nfunction tokenizeListItemPrefixWhitespace(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"listItemPrefixWhitespace\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return !markdownSpace(code2) && tail && tail[1].type === \"listItemPrefixWhitespace\" ? ok2(code2) : nok(code2);\n }\n}\nconst setextUnderline = {\n name: \"setextUnderline\",\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n};\nfunction resolveToSetextUnderline(events, context) {\n let index2 = events.length;\n let content2;\n let text2;\n let definition2;\n while (index2--) {\n if (events[index2][0] === \"enter\") {\n if (events[index2][1].type === \"content\") {\n content2 = index2;\n break;\n }\n if (events[index2][1].type === \"paragraph\") {\n text2 = index2;\n }\n } else {\n if (events[index2][1].type === \"content\") {\n events.splice(index2, 1);\n }\n if (!definition2 && events[index2][1].type === \"definition\") {\n definition2 = index2;\n }\n }\n }\n const heading2 = {\n type: \"setextHeading\",\n start: Object.assign({}, events[text2][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n events[text2][1].type = \"setextHeadingText\";\n if (definition2) {\n events.splice(text2, 0, [\"enter\", heading2, context]);\n events.splice(definition2 + 1, 0, [\"exit\", events[content2][1], context]);\n events[content2][1].end = Object.assign({}, events[definition2][1].end);\n } else {\n events[content2][1] = heading2;\n }\n events.push([\"exit\", heading2, context]);\n return events;\n}\nfunction tokenizeSetextUnderline(effects, ok2, nok) {\n const self = this;\n let index2 = self.events.length;\n let marker;\n let paragraph2;\n while (index2--) {\n if (self.events[index2][1].type !== \"lineEnding\" && self.events[index2][1].type !== \"linePrefix\" && self.events[index2][1].type !== \"content\") {\n paragraph2 = self.events[index2][1].type === \"paragraph\";\n break;\n }\n }\n return start;\n function start(code2) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph2)) {\n effects.enter(\"setextHeadingLine\");\n effects.enter(\"setextHeadingLineSequence\");\n marker = code2;\n return closingSequence(code2);\n }\n return nok(code2);\n }\n function closingSequence(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n return closingSequence;\n }\n effects.exit(\"setextHeadingLineSequence\");\n return factorySpace(effects, closingSequenceEnd, \"lineSuffix\")(code2);\n }\n function closingSequenceEnd(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"setextHeadingLine\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nconst flow$1 = {\n tokenize: initializeFlow\n};\nfunction initializeFlow(effects) {\n const self = this;\n const initial = effects.attempt(\n blankLine,\n atBlankEnding,\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n \"linePrefix\"\n )\n )\n );\n return initial;\n function atBlankEnding(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"lineEndingBlank\");\n effects.consume(code2);\n effects.exit(\"lineEndingBlank\");\n self.currentConstruct = void 0;\n return initial;\n }\n function afterConstruct(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n self.currentConstruct = void 0;\n return initial;\n }\n}\nconst resolver = {\n resolveAll: createResolver()\n};\nconst string$1 = initializeFactory(\"string\");\nconst text$3 = initializeFactory(\"text\");\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === \"text\" ? resolveAllLineSuffixes : void 0\n )\n };\n function initializeText(effects) {\n const self = this;\n const constructs2 = this.parser.constructs[field];\n const text2 = effects.attempt(constructs2, start, notText);\n return start;\n function start(code2) {\n return atBreak(code2) ? text2(code2) : notText(code2);\n }\n function notText(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"data\");\n effects.consume(code2);\n return data;\n }\n function data(code2) {\n if (atBreak(code2)) {\n effects.exit(\"data\");\n return text2(code2);\n }\n effects.consume(code2);\n return data;\n }\n function atBreak(code2) {\n if (code2 === null) {\n return true;\n }\n const list2 = constructs2[code2];\n let index2 = -1;\n if (list2) {\n while (++index2 < list2.length) {\n const item = list2[index2];\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n return false;\n }\n }\n}\nfunction createResolver(extraResolver) {\n return resolveAllText;\n function resolveAllText(events, context) {\n let index2 = -1;\n let enter;\n while (++index2 <= events.length) {\n if (enter === void 0) {\n if (events[index2] && events[index2][1].type === \"data\") {\n enter = index2;\n index2++;\n }\n } else if (!events[index2] || events[index2][1].type !== \"data\") {\n if (index2 !== enter + 2) {\n events[enter][1].end = events[index2 - 1][1].end;\n events.splice(enter + 2, index2 - enter - 2);\n index2 = enter + 2;\n }\n enter = void 0;\n }\n }\n return extraResolver ? extraResolver(events, context) : events;\n }\n}\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0;\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === \"lineEnding\") && events[eventIndex - 1][1].type === \"data\") {\n const data = events[eventIndex - 1][1];\n const chunks = context.sliceStream(data);\n let index2 = chunks.length;\n let bufferIndex = -1;\n let size = 0;\n let tabs;\n while (index2--) {\n const chunk = chunks[index2];\n if (typeof chunk === \"string\") {\n bufferIndex = chunk.length;\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n if (bufferIndex)\n break;\n bufferIndex = -1;\n } else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1)\n ;\n else {\n index2++;\n break;\n }\n }\n if (size) {\n const token = {\n type: eventIndex === events.length || tabs || size < 2 ? \"lineSuffix\" : \"hardBreakTrailing\",\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index2,\n _bufferIndex: index2 ? bufferIndex : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n };\n data.end = Object.assign({}, token.start);\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token);\n } else {\n events.splice(\n eventIndex,\n 0,\n [\"enter\", token, context],\n [\"exit\", token, context]\n );\n eventIndex += 2;\n }\n }\n eventIndex++;\n }\n }\n return events;\n}\nfunction createTokenizer(parser, initialize, from) {\n let point2 = Object.assign(\n from ? Object.assign({}, from) : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n );\n const columnStart = {};\n const resolveAllConstructs = [];\n let chunks = [];\n let stack = [];\n const effects = {\n consume,\n enter,\n exit: exit2,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n };\n let state = initialize.tokenize.call(context, effects);\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n function now() {\n return Object.assign({}, point2);\n }\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n function main() {\n let chunkIndex;\n while (point2._index < chunks.length) {\n const chunk = chunks[point2._index];\n if (typeof chunk === \"string\") {\n chunkIndex = point2._index;\n if (point2._bufferIndex < 0) {\n point2._bufferIndex = 0;\n }\n while (point2._index === chunkIndex && point2._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point2._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n function go(code2) {\n state = state(code2);\n }\n function consume(code2) {\n if (markdownLineEnding(code2)) {\n point2.line++;\n point2.column = 1;\n point2.offset += code2 === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code2 !== -1) {\n point2.column++;\n point2.offset++;\n }\n if (point2._bufferIndex < 0) {\n point2._index++;\n } else {\n point2._bufferIndex++;\n if (point2._bufferIndex === chunks[point2._index].length) {\n point2._bufferIndex = -1;\n point2._index++;\n }\n }\n context.previous = code2;\n }\n function enter(type, fields) {\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push([\"enter\", token, context]);\n stack.push(token);\n return token;\n }\n function exit2(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push([\"exit\", token, context]);\n return token;\n }\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n function constructFactory(onreturn, fields) {\n return hook;\n function hook(constructs2, returnState, bogusState) {\n let listOfConstructs;\n let constructIndex;\n let currentConstruct;\n let info;\n return Array.isArray(constructs2) ? handleListOfConstructs(constructs2) : \"tokenize\" in constructs2 ? handleListOfConstructs([constructs2]) : handleMapOfConstructs(constructs2);\n function handleMapOfConstructs(map) {\n return start;\n function start(code2) {\n const def = code2 !== null && map[code2];\n const all2 = code2 !== null && map.null;\n const list2 = [\n ...Array.isArray(def) ? def : def ? [def] : [],\n ...Array.isArray(all2) ? all2 : all2 ? [all2] : []\n ];\n return handleListOfConstructs(list2)(code2);\n }\n }\n function handleListOfConstructs(list2) {\n listOfConstructs = list2;\n constructIndex = 0;\n if (list2.length === 0) {\n return bogusState;\n }\n return handleConstruct(list2[constructIndex]);\n }\n function handleConstruct(construct) {\n return start;\n function start(code2) {\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok();\n }\n return construct.tokenize.call(\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok2,\n nok\n )(code2);\n }\n }\n function ok2(code2) {\n onreturn(currentConstruct, info);\n return returnState;\n }\n function nok(code2) {\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n function addResult(construct, from2) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(\n context.events,\n from2,\n context.events.length - from2,\n construct.resolve(context.events.slice(from2), context)\n );\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n restore,\n from: startEventsIndex\n };\n function restore() {\n point2 = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n function accountForPotentialSkip() {\n if (point2.line in columnStart && point2.column < 2) {\n point2.column = columnStart[point2.line];\n point2.offset += columnStart[point2.line] - 1;\n }\n }\n}\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n let view;\n if (startIndex === endIndex) {\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n view[0] = view[0].slice(startBufferIndex);\n }\n if (endBufferIndex > 0) {\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\nfunction serializeChunks(chunks, expandTabs) {\n let index2 = -1;\n const result = [];\n let atTab;\n while (++index2 < chunks.length) {\n const chunk = chunks[index2];\n let value;\n if (typeof chunk === \"string\") {\n value = chunk;\n } else\n switch (chunk) {\n case -5: {\n value = \"\\r\";\n break;\n }\n case -4: {\n value = \"\\n\";\n break;\n }\n case -3: {\n value = \"\\r\\n\";\n break;\n }\n case -2: {\n value = expandTabs ? \" \" : \"\t\";\n break;\n }\n case -1: {\n if (!expandTabs && atTab)\n continue;\n value = \" \";\n break;\n }\n default: {\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join(\"\");\n}\nconst document$1 = {\n [42]: list$1,\n [43]: list$1,\n [45]: list$1,\n [48]: list$1,\n [49]: list$1,\n [50]: list$1,\n [51]: list$1,\n [52]: list$1,\n [53]: list$1,\n [54]: list$1,\n [55]: list$1,\n [56]: list$1,\n [57]: list$1,\n [62]: blockQuote\n};\nconst contentInitial = {\n [91]: definition\n};\nconst flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\nconst flow = {\n [35]: headingAtx,\n [42]: thematicBreak$1,\n [45]: [setextUnderline, thematicBreak$1],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak$1,\n [96]: codeFenced,\n [126]: codeFenced\n};\nconst string = {\n [38]: characterReference,\n [92]: characterEscape\n};\nconst text$2 = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\nconst insideSpan = {\n null: [attention, resolver]\n};\nconst attentionMarkers = {\n null: [42, 95]\n};\nconst disable = {\n null: []\n};\nconst defaultConstructs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n document: document$1,\n contentInitial,\n flowInitial,\n flow,\n string,\n text: text$2,\n insideSpan,\n attentionMarkers,\n disable\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction parse$2(options = {}) {\n const constructs2 = combineExtensions(\n [defaultConstructs].concat(options.extensions || [])\n );\n const parser = {\n defined: [],\n lazy: {},\n constructs: constructs2,\n content: create2(content$1),\n document: create2(document$2),\n flow: create2(flow$1),\n string: create2(string$1),\n text: create2(text$3)\n };\n return parser;\n function create2(initial) {\n return creator;\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}\nconst search = /[\\0\\t\\n\\r]/g;\nfunction preprocess() {\n let column = 1;\n let buffer = \"\";\n let start = true;\n let atCarriageReturn;\n return preprocessor;\n function preprocessor(value, encoding, end) {\n const chunks = [];\n let match;\n let next;\n let startPosition;\n let endPosition;\n let code2;\n value = buffer + value.toString(encoding);\n startPosition = 0;\n buffer = \"\";\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = void 0;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== void 0 ? match.index : value.length;\n code2 = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code2 === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = void 0;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = void 0;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code2) {\n case 0: {\n chunks.push(65533);\n column++;\n break;\n }\n case 9: {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next)\n chunks.push(-1);\n break;\n }\n case 10: {\n chunks.push(-4);\n column = 1;\n break;\n }\n default: {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn)\n chunks.push(-5);\n if (buffer)\n chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}\nfunction postprocess(events) {\n while (!subtokenize(events)) {\n }\n return events;\n}\nfunction decodeNumericCharacterReference(value, base2) {\n const code2 = Number.parseInt(value, base2);\n if (code2 < 9 || code2 === 11 || code2 > 13 && code2 < 32 || code2 > 126 && code2 < 160 || code2 > 55295 && code2 < 57344 || code2 > 64975 && code2 < 65008 || (code2 & 65535) === 65535 || (code2 & 65535) === 65534 || code2 > 1114111) {\n return \"\\uFFFD\";\n }\n return String.fromCharCode(code2);\n}\nconst characterEscapeOrReference = /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;\nfunction decodeString(value) {\n return value.replace(characterEscapeOrReference, decode);\n}\nfunction decode($0, $1, $2) {\n if ($1) {\n return $1;\n }\n const head = $2.charCodeAt(0);\n if (head === 35) {\n const head2 = $2.charCodeAt(1);\n const hex = head2 === 120 || head2 === 88;\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10);\n }\n return decodeNamedCharacterReference($2) || $0;\n}\nconst own$6 = {}.hasOwnProperty;\nconst fromMarkdown = function(value, encoding, options) {\n if (typeof encoding !== \"string\") {\n options = encoding;\n encoding = void 0;\n }\n return compiler(options)(\n postprocess(\n parse$2(options).document().write(preprocess()(value, encoding, true))\n )\n );\n};\nfunction compiler(options = {}) {\n const config = configure(\n {\n transforms: [],\n canContainEols: [\n \"emphasis\",\n \"fragment\",\n \"heading\",\n \"paragraph\",\n \"strong\"\n ],\n enter: {\n autolink: opener(link2),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading2),\n blockQuote: opener(blockQuote2),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText2, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition2),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis2),\n hardBreakEscape: opener(hardBreak2),\n hardBreakTrailing: opener(hardBreak2),\n htmlFlow: opener(html2, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html2, buffer),\n htmlTextData: onenterdata,\n image: opener(image2),\n label: buffer,\n link: opener(link2),\n listItem: opener(listItem2),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list2, onenterlistordered),\n listUnordered: opener(list2),\n paragraph: opener(paragraph2),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading2),\n strong: opener(strong2),\n thematicBreak: opener(thematicBreak2)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n options.mdastExtensions || []\n );\n const data = {};\n return compile;\n function compile(events) {\n let tree = {\n type: \"root\",\n children: []\n };\n const stack = [tree];\n const tokenStack = [];\n const listStack = [];\n const context = {\n stack,\n tokenStack,\n config,\n enter,\n exit: exit2,\n buffer,\n resume,\n setData,\n getData\n };\n let index2 = -1;\n while (++index2 < events.length) {\n if (events[index2][1].type === \"listOrdered\" || events[index2][1].type === \"listUnordered\") {\n if (events[index2][0] === \"enter\") {\n listStack.push(index2);\n } else {\n const tail = listStack.pop();\n index2 = prepareList(events, tail, index2);\n }\n }\n }\n index2 = -1;\n while (++index2 < events.length) {\n const handler = config[events[index2][0]];\n if (own$6.call(handler, events[index2][1].type)) {\n handler[events[index2][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index2][2].sliceSerialize\n },\n context\n ),\n events[index2][1]\n );\n }\n }\n if (tokenStack.length > 0) {\n const tail = tokenStack[tokenStack.length - 1];\n const handler = tail[1] || defaultOnError;\n handler.call(context, void 0, tail[0]);\n }\n tree.position = {\n start: point2(\n events.length > 0 ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point2(\n events.length > 0 ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n };\n index2 = -1;\n while (++index2 < config.transforms.length) {\n tree = config.transforms[index2](tree) || tree;\n }\n return tree;\n }\n function prepareList(events, start, length) {\n let index2 = start - 1;\n let containerBalance = -1;\n let listSpread = false;\n let listItem3;\n let lineIndex;\n let firstBlankLineIndex;\n let atMarker;\n while (++index2 <= length) {\n const event = events[index2];\n if (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\" || event[1].type === \"blockQuote\") {\n if (event[0] === \"enter\") {\n containerBalance++;\n } else {\n containerBalance--;\n }\n atMarker = void 0;\n } else if (event[1].type === \"lineEndingBlank\") {\n if (event[0] === \"enter\") {\n if (listItem3 && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index2;\n }\n atMarker = void 0;\n }\n } else if (event[1].type === \"linePrefix\" || event[1].type === \"listItemValue\" || event[1].type === \"listItemMarker\" || event[1].type === \"listItemPrefix\" || event[1].type === \"listItemPrefixWhitespace\")\n ;\n else {\n atMarker = void 0;\n }\n if (!containerBalance && event[0] === \"enter\" && event[1].type === \"listItemPrefix\" || containerBalance === -1 && event[0] === \"exit\" && (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\")) {\n if (listItem3) {\n let tailIndex = index2;\n lineIndex = void 0;\n while (tailIndex--) {\n const tailEvent = events[tailIndex];\n if (tailEvent[1].type === \"lineEnding\" || tailEvent[1].type === \"lineEndingBlank\") {\n if (tailEvent[0] === \"exit\")\n continue;\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n listSpread = true;\n }\n tailEvent[1].type = \"lineEnding\";\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === \"linePrefix\" || tailEvent[1].type === \"blockQuotePrefix\" || tailEvent[1].type === \"blockQuotePrefixWhitespace\" || tailEvent[1].type === \"blockQuoteMarker\" || tailEvent[1].type === \"listItemIndent\")\n ;\n else {\n break;\n }\n }\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem3._spread = true;\n }\n listItem3.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n );\n events.splice(lineIndex || index2, 0, [\"exit\", listItem3, event[2]]);\n index2++;\n length++;\n }\n if (event[1].type === \"listItemPrefix\") {\n listItem3 = {\n type: \"listItem\",\n _spread: false,\n start: Object.assign({}, event[1].start)\n };\n events.splice(index2, 0, [\"enter\", listItem3, event[2]]);\n index2++;\n length++;\n firstBlankLineIndex = void 0;\n atMarker = true;\n }\n }\n }\n events[start][1]._spread = listSpread;\n return length;\n }\n function setData(key, value) {\n data[key] = value;\n }\n function getData(key) {\n return data[key];\n }\n function point2(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n }\n function opener(create2, and) {\n return open;\n function open(token) {\n enter.call(this, create2(token), token);\n if (and)\n and.call(this, token);\n }\n }\n function buffer() {\n this.stack.push({\n type: \"fragment\",\n children: []\n });\n }\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1];\n parent.children.push(node);\n this.stack.push(node);\n this.tokenStack.push([token, errorHandler]);\n node.position = {\n start: point2(token.start)\n };\n return node;\n }\n function closer(and) {\n return close;\n function close(token) {\n if (and)\n and.call(this, token);\n exit2.call(this, token);\n }\n }\n function exit2(token, onExitError) {\n const node = this.stack.pop();\n const open = this.tokenStack.pop();\n if (!open) {\n throw new Error(\n \"Cannot close `\" + token.type + \"` (\" + stringifyPosition({\n start: token.start,\n end: token.end\n }) + \"): it\\u2019s not open\"\n );\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0]);\n } else {\n const handler = open[1] || defaultOnError;\n handler.call(this, token, open[0]);\n }\n }\n node.position.end = point2(token.end);\n return node;\n }\n function resume() {\n return toString(this.stack.pop());\n }\n function onenterlistordered() {\n setData(\"expectingFirstListItemValue\", true);\n }\n function onenterlistitemvalue(token) {\n if (getData(\"expectingFirstListItemValue\")) {\n const ancestor = this.stack[this.stack.length - 2];\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10);\n setData(\"expectingFirstListItemValue\");\n }\n }\n function onexitcodefencedfenceinfo() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.lang = data2;\n }\n function onexitcodefencedfencemeta() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.meta = data2;\n }\n function onexitcodefencedfence() {\n if (getData(\"flowCodeInside\"))\n return;\n this.buffer();\n setData(\"flowCodeInside\", true);\n }\n function onexitcodefenced() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, \"\");\n setData(\"flowCodeInside\");\n }\n function onexitcodeindented() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2.replace(/(\\r?\\n|\\r)$/g, \"\");\n }\n function onexitdefinitionlabelstring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n }\n function onexitdefinitiontitlestring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data2;\n }\n function onexitdefinitiondestinationstring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data2;\n }\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1];\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length;\n node.depth = depth;\n }\n }\n function onexitsetextheadingtext() {\n setData(\"setextHeadingSlurpLineEnding\", true);\n }\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1];\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2;\n }\n function onexitsetextheading() {\n setData(\"setextHeadingSlurpLineEnding\");\n }\n function onenterdata(token) {\n const parent = this.stack[this.stack.length - 1];\n let tail = parent.children[parent.children.length - 1];\n if (!tail || tail.type !== \"text\") {\n tail = text2();\n tail.position = {\n start: point2(token.start)\n };\n parent.children.push(tail);\n }\n this.stack.push(tail);\n }\n function onexitdata(token) {\n const tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point2(token.end);\n }\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1];\n if (getData(\"atHardBreak\")) {\n const tail = context.children[context.children.length - 1];\n tail.position.end = point2(token.end);\n setData(\"atHardBreak\");\n return;\n }\n if (!getData(\"setextHeadingSlurpLineEnding\") && config.canContainEols.includes(context.type)) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n function onexithardbreak() {\n setData(\"atHardBreak\", true);\n }\n function onexithtmlflow() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2;\n }\n function onexithtmltext() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2;\n }\n function onexitcodetext() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2;\n }\n function onexitlink() {\n const context = this.stack[this.stack.length - 1];\n if (getData(\"inReference\")) {\n context.type += \"Reference\";\n context.referenceType = getData(\"referenceType\") || \"shortcut\";\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n }\n setData(\"referenceType\");\n }\n function onexitimage() {\n const context = this.stack[this.stack.length - 1];\n if (getData(\"inReference\")) {\n context.type += \"Reference\";\n context.referenceType = getData(\"referenceType\") || \"shortcut\";\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n }\n setData(\"referenceType\");\n }\n function onexitlabeltext(token) {\n const ancestor = this.stack[this.stack.length - 2];\n const string2 = this.sliceSerialize(token);\n ancestor.label = decodeString(string2);\n ancestor.identifier = normalizeIdentifier(string2).toLowerCase();\n }\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1];\n const value = this.resume();\n const node = this.stack[this.stack.length - 1];\n setData(\"inReference\", true);\n if (node.type === \"link\") {\n node.children = fragment.children;\n } else {\n node.alt = value;\n }\n }\n function onexitresourcedestinationstring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data2;\n }\n function onexitresourcetitlestring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data2;\n }\n function onexitresource() {\n setData(\"inReference\");\n }\n function onenterreference() {\n setData(\"referenceType\", \"collapsed\");\n }\n function onexitreferencestring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n setData(\"referenceType\", \"full\");\n }\n function onexitcharacterreferencemarker(token) {\n setData(\"characterReferenceType\", token.type);\n }\n function onexitcharacterreferencevalue(token) {\n const data2 = this.sliceSerialize(token);\n const type = getData(\"characterReferenceType\");\n let value;\n if (type) {\n value = decodeNumericCharacterReference(\n data2,\n type === \"characterReferenceMarkerNumeric\" ? 10 : 16\n );\n setData(\"characterReferenceType\");\n } else {\n value = decodeNamedCharacterReference(data2);\n }\n const tail = this.stack.pop();\n tail.value += value;\n tail.position.end = point2(token.end);\n }\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = this.sliceSerialize(token);\n }\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = \"mailto:\" + this.sliceSerialize(token);\n }\n function blockQuote2() {\n return {\n type: \"blockquote\",\n children: []\n };\n }\n function codeFlow() {\n return {\n type: \"code\",\n lang: null,\n meta: null,\n value: \"\"\n };\n }\n function codeText2() {\n return {\n type: \"inlineCode\",\n value: \"\"\n };\n }\n function definition2() {\n return {\n type: \"definition\",\n identifier: \"\",\n label: null,\n title: null,\n url: \"\"\n };\n }\n function emphasis2() {\n return {\n type: \"emphasis\",\n children: []\n };\n }\n function heading2() {\n return {\n type: \"heading\",\n depth: void 0,\n children: []\n };\n }\n function hardBreak2() {\n return {\n type: \"break\"\n };\n }\n function html2() {\n return {\n type: \"html\",\n value: \"\"\n };\n }\n function image2() {\n return {\n type: \"image\",\n title: null,\n url: \"\",\n alt: null\n };\n }\n function link2() {\n return {\n type: \"link\",\n title: null,\n url: \"\",\n children: []\n };\n }\n function list2(token) {\n return {\n type: \"list\",\n ordered: token.type === \"listOrdered\",\n start: null,\n spread: token._spread,\n children: []\n };\n }\n function listItem2(token) {\n return {\n type: \"listItem\",\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n function paragraph2() {\n return {\n type: \"paragraph\",\n children: []\n };\n }\n function strong2() {\n return {\n type: \"strong\",\n children: []\n };\n }\n function text2() {\n return {\n type: \"text\",\n value: \"\"\n };\n }\n function thematicBreak2() {\n return {\n type: \"thematicBreak\"\n };\n }\n}\nfunction configure(combined, extensions) {\n let index2 = -1;\n while (++index2 < extensions.length) {\n const value = extensions[index2];\n if (Array.isArray(value)) {\n configure(combined, value);\n } else {\n extension(combined, value);\n }\n }\n return combined;\n}\nfunction extension(combined, extension2) {\n let key;\n for (key in extension2) {\n if (own$6.call(extension2, key)) {\n const list2 = key === \"canContainEols\" || key === \"transforms\";\n const maybe = own$6.call(combined, key) ? combined[key] : void 0;\n const left = maybe || (combined[key] = list2 ? [] : {});\n const right = extension2[key];\n if (right) {\n if (list2) {\n combined[key] = [...left, ...right];\n } else {\n Object.assign(left, right);\n }\n }\n }\n }\n}\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n \"Cannot close `\" + left.type + \"` (\" + stringifyPosition({\n start: left.start,\n end: left.end\n }) + \"): a different token (`\" + right.type + \"`, \" + stringifyPosition({\n start: right.start,\n end: right.end\n }) + \") is open\"\n );\n } else {\n throw new Error(\n \"Cannot close document, a token (`\" + right.type + \"`, \" + stringifyPosition({\n start: right.start,\n end: right.end\n }) + \") is still open\"\n );\n }\n}\nfunction remarkParse(options) {\n const parser = (doc) => {\n const settings = this.data(\"settings\");\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n extensions: this.data(\"micromarkExtensions\") || [],\n mdastExtensions: this.data(\"fromMarkdownExtensions\") || []\n })\n );\n };\n Object.assign(this, { Parser: parser });\n}\nconst convert$2 = function(test) {\n if (test === void 0 || test === null) {\n return ok$1;\n }\n if (typeof test === \"string\") {\n return typeFactory$1(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory$1(test) : propsFactory(test);\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n};\nfunction anyFactory$1(tests) {\n const checks2 = [];\n let index2 = -1;\n while (++index2 < tests.length) {\n checks2[index2] = convert$2(tests[index2]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index3 = -1;\n while (++index3 < checks2.length) {\n if (checks2[index3].call(this, ...parameters))\n return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n return castFactory(all2);\n function all2(node) {\n let key;\n for (key in check) {\n if (node[key] !== check[key])\n return false;\n }\n return true;\n }\n}\nfunction typeFactory$1(check) {\n return castFactory(type);\n function type(node) {\n return node && node.type === check;\n }\n}\nfunction castFactory(check) {\n return assertion;\n function assertion(...parameters) {\n return Boolean(check.call(this, ...parameters));\n }\n}\nfunction ok$1() {\n return true;\n}\nfunction color(d) {\n return d;\n}\nconst CONTINUE$2 = true;\nconst SKIP$2 = \"skip\";\nconst EXIT$2 = false;\nconst visitParents$2 = function(tree, test, visitor2, reverse) {\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n const is = convert$2(test);\n const step = reverse ? -1 : 1;\n factory2(tree, null, [])();\n function factory2(node, index2, parents) {\n const value = typeof node === \"object\" && node !== null ? node : {};\n let name;\n if (typeof value.type === \"string\") {\n name = typeof value.tagName === \"string\" ? value.tagName : typeof value.name === \"string\" ? value.name : void 0;\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(value.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = [];\n let subresult;\n let offset;\n let grandparents;\n if (!test || is(node, index2, parents[parents.length - 1] || null)) {\n result = toResult$1(visitor2(node, parents));\n if (result[0] === EXIT$2) {\n return result;\n }\n }\n if (node.children && result[0] !== SKIP$2) {\n offset = (reverse ? node.children.length : -1) + step;\n grandparents = parents.concat(node);\n while (offset > -1 && offset < node.children.length) {\n subresult = factory2(node.children[offset], offset, grandparents)();\n if (subresult[0] === EXIT$2) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n return result;\n }\n }\n};\nfunction toResult$1(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE$2, value];\n }\n return [value];\n}\nconst visit$2 = function(tree, test, visitor2, reverse) {\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n visitParents$2(tree, test, overload, reverse);\n function overload(node, parents) {\n const parent = parents[parents.length - 1];\n return visitor2(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n );\n }\n};\nconst find$1 = /[\\t ]*(?:\\r?\\n|\\r)/g;\nfunction remarkBreaks() {\n return (tree) => {\n visit$2(tree, \"text\", (node, index2, parent) => {\n const result = [];\n let start = 0;\n find$1.lastIndex = 0;\n let match = find$1.exec(node.value);\n while (match) {\n const position2 = match.index;\n if (start !== position2) {\n result.push({ type: \"text\", value: node.value.slice(start, position2) });\n }\n result.push({ type: \"break\" });\n start = position2 + match[0].length;\n match = find$1.exec(node.value);\n }\n if (result.length > 0 && parent && typeof index2 === \"number\") {\n if (start < node.value.length) {\n result.push({ type: \"text\", value: node.value.slice(start) });\n }\n parent.children.splice(index2, 1, ...result);\n return index2 + result.length;\n }\n });\n };\n}\nvar u = function(type, props, value) {\n var node = { type: String(type) };\n if ((value === void 0 || value === null) && (typeof props === \"string\" || Array.isArray(props))) {\n value = props;\n } else {\n Object.assign(node, props);\n }\n if (Array.isArray(value)) {\n node.children = value;\n } else if (value !== void 0 && value !== null) {\n node.value = String(value);\n }\n return node;\n};\nconst own$5 = {}.hasOwnProperty;\nfunction unknown(h, node) {\n const data = node.data || {};\n if (\"value\" in node && !(own$5.call(data, \"hName\") || own$5.call(data, \"hProperties\") || own$5.call(data, \"hChildren\"))) {\n return h.augment(node, u(\"text\", node.value));\n }\n return h(node, \"div\", all(h, node));\n}\nfunction one(h, node, parent) {\n const type = node && node.type;\n let fn;\n if (!type) {\n throw new Error(\"Expected node, got `\" + node + \"`\");\n }\n if (own$5.call(h.handlers, type)) {\n fn = h.handlers[type];\n } else if (h.passThrough && h.passThrough.includes(type)) {\n fn = returnNode;\n } else {\n fn = h.unknownHandler;\n }\n return (typeof fn === \"function\" ? fn : unknown)(h, node, parent);\n}\nfunction returnNode(h, node) {\n return \"children\" in node ? { ...node, children: all(h, node) } : node;\n}\nfunction all(h, parent) {\n const values = [];\n if (\"children\" in parent) {\n const nodes = parent.children;\n let index2 = -1;\n while (++index2 < nodes.length) {\n const result = one(h, nodes[index2], parent);\n if (result) {\n if (index2 && nodes[index2 - 1].type === \"break\") {\n if (!Array.isArray(result) && result.type === \"text\") {\n result.value = result.value.replace(/^\\s+/, \"\");\n }\n if (!Array.isArray(result) && result.type === \"element\") {\n const head = result.children[0];\n if (head && head.type === \"text\") {\n head.value = head.value.replace(/^\\s+/, \"\");\n }\n }\n }\n if (Array.isArray(result)) {\n values.push(...result);\n } else {\n values.push(result);\n }\n }\n }\n }\n return values;\n}\nconst pointStart = point(\"start\");\nconst pointEnd = point(\"end\");\nfunction point(type) {\n return point2;\n function point2(node) {\n const point3 = node && node.position && node.position[type] || {};\n return {\n line: point3.line || null,\n column: point3.column || null,\n offset: point3.offset > -1 ? point3.offset : null\n };\n }\n}\nfunction generated(node) {\n return !node || !node.position || !node.position.start || !node.position.start.line || !node.position.start.column || !node.position.end || !node.position.end.line || !node.position.end.column;\n}\nconst own$4 = {}.hasOwnProperty;\nfunction definitions(node) {\n const cache = /* @__PURE__ */ Object.create(null);\n if (!node || !node.type) {\n throw new Error(\"mdast-util-definitions expected node\");\n }\n visit$2(node, \"definition\", (definition3) => {\n const id = clean(definition3.identifier);\n if (id && !own$4.call(cache, id)) {\n cache[id] = definition3;\n }\n });\n return definition2;\n function definition2(identifier) {\n const id = clean(identifier);\n return id && own$4.call(cache, id) ? cache[id] : null;\n }\n}\nfunction clean(value) {\n return String(value || \"\").toUpperCase();\n}\nconst characterReferences = { '\"': \"quot\", \"&\": \"amp\", \"<\": \"lt\", \">\": \"gt\" };\nfunction encode$1(value) {\n return value.replace(/[\"&<>]/g, replace);\n function replace(value2) {\n return \"&\" + characterReferences[value2] + \";\";\n }\n}\nfunction sanitizeUri(url, protocol) {\n const value = encode$1(normalizeUri(url || \"\"));\n if (!protocol) {\n return value;\n }\n const colon = value.indexOf(\":\");\n const questionMark = value.indexOf(\"?\");\n const numberSign = value.indexOf(\"#\");\n const slash = value.indexOf(\"/\");\n if (colon < 0 || slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign || protocol.test(value.slice(0, colon))) {\n return value;\n }\n return \"\";\n}\nfunction normalizeUri(value) {\n const result = [];\n let index2 = -1;\n let start = 0;\n let skip = 0;\n while (++index2 < value.length) {\n const code2 = value.charCodeAt(index2);\n let replace = \"\";\n if (code2 === 37 && asciiAlphanumeric(value.charCodeAt(index2 + 1)) && asciiAlphanumeric(value.charCodeAt(index2 + 2))) {\n skip = 2;\n } else if (code2 < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code2))) {\n replace = String.fromCharCode(code2);\n }\n } else if (code2 > 55295 && code2 < 57344) {\n const next = value.charCodeAt(index2 + 1);\n if (code2 < 56320 && next > 56319 && next < 57344) {\n replace = String.fromCharCode(code2, next);\n skip = 1;\n } else {\n replace = \"\\uFFFD\";\n }\n } else {\n replace = String.fromCharCode(code2);\n }\n if (replace) {\n result.push(value.slice(start, index2), encodeURIComponent(replace));\n start = index2 + skip + 1;\n replace = \"\";\n }\n if (skip) {\n index2 += skip;\n skip = 0;\n }\n }\n return result.join(\"\") + value.slice(start);\n}\nfunction wrap(nodes, loose) {\n const result = [];\n let index2 = -1;\n if (loose) {\n result.push(u(\"text\", \"\\n\"));\n }\n while (++index2 < nodes.length) {\n if (index2)\n result.push(u(\"text\", \"\\n\"));\n result.push(nodes[index2]);\n }\n if (loose && nodes.length > 0) {\n result.push(u(\"text\", \"\\n\"));\n }\n return result;\n}\nfunction footer(h) {\n let index2 = -1;\n const listItems = [];\n while (++index2 < h.footnoteOrder.length) {\n const def = h.footnoteById[h.footnoteOrder[index2].toUpperCase()];\n if (!def) {\n continue;\n }\n const content2 = all(h, def);\n const id = String(def.identifier);\n const safeId = sanitizeUri(id.toLowerCase());\n let referenceIndex = 0;\n const backReferences = [];\n while (++referenceIndex <= h.footnoteCounts[id]) {\n const backReference = {\n type: \"element\",\n tagName: \"a\",\n properties: {\n href: \"#\" + h.clobberPrefix + \"fnref-\" + safeId + (referenceIndex > 1 ? \"-\" + referenceIndex : \"\"),\n dataFootnoteBackref: true,\n className: [\"data-footnote-backref\"],\n ariaLabel: h.footnoteBackLabel\n },\n children: [{ type: \"text\", value: \"\\u21A9\" }]\n };\n if (referenceIndex > 1) {\n backReference.children.push({\n type: \"element\",\n tagName: \"sup\",\n children: [{ type: \"text\", value: String(referenceIndex) }]\n });\n }\n if (backReferences.length > 0) {\n backReferences.push({ type: \"text\", value: \" \" });\n }\n backReferences.push(backReference);\n }\n const tail = content2[content2.length - 1];\n if (tail && tail.type === \"element\" && tail.tagName === \"p\") {\n const tailTail = tail.children[tail.children.length - 1];\n if (tailTail && tailTail.type === \"text\") {\n tailTail.value += \" \";\n } else {\n tail.children.push({ type: \"text\", value: \" \" });\n }\n tail.children.push(...backReferences);\n } else {\n content2.push(...backReferences);\n }\n const listItem2 = {\n type: \"element\",\n tagName: \"li\",\n properties: { id: h.clobberPrefix + \"fn-\" + safeId },\n children: wrap(content2, true)\n };\n if (def.position) {\n listItem2.position = def.position;\n }\n listItems.push(listItem2);\n }\n if (listItems.length === 0) {\n return null;\n }\n return {\n type: \"element\",\n tagName: \"section\",\n properties: { dataFootnotes: true, className: [\"footnotes\"] },\n children: [\n {\n type: \"element\",\n tagName: h.footnoteLabelTagName,\n properties: JSON.parse(JSON.stringify(h.footnoteLabelProperties)),\n children: [u(\"text\", h.footnoteLabel)]\n },\n { type: \"text\", value: \"\\n\" },\n {\n type: \"element\",\n tagName: \"ol\",\n properties: {},\n children: wrap(listItems, true)\n },\n { type: \"text\", value: \"\\n\" }\n ]\n };\n}\nfunction blockquote(h, node) {\n return h(node, \"blockquote\", wrap(all(h, node), true));\n}\nfunction hardBreak(h, node) {\n return [h(node, \"br\"), u(\"text\", \"\\n\")];\n}\nfunction code(h, node) {\n const value = node.value ? node.value + \"\\n\" : \"\";\n const lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/);\n const props = {};\n if (lang) {\n props.className = [\"language-\" + lang];\n }\n const code2 = h(node, \"code\", props, [u(\"text\", value)]);\n if (node.meta) {\n code2.data = { meta: node.meta };\n }\n return h(node.position, \"pre\", [code2]);\n}\nfunction strikethrough(h, node) {\n return h(node, \"del\", all(h, node));\n}\nfunction emphasis(h, node) {\n return h(node, \"em\", all(h, node));\n}\nfunction footnoteReference(h, node) {\n const id = String(node.identifier);\n const safeId = sanitizeUri(id.toLowerCase());\n const index2 = h.footnoteOrder.indexOf(id);\n let counter;\n if (index2 === -1) {\n h.footnoteOrder.push(id);\n h.footnoteCounts[id] = 1;\n counter = h.footnoteOrder.length;\n } else {\n h.footnoteCounts[id]++;\n counter = index2 + 1;\n }\n const reuseCounter = h.footnoteCounts[id];\n return h(node, \"sup\", [\n h(\n node.position,\n \"a\",\n {\n href: \"#\" + h.clobberPrefix + \"fn-\" + safeId,\n id: h.clobberPrefix + \"fnref-\" + safeId + (reuseCounter > 1 ? \"-\" + reuseCounter : \"\"),\n dataFootnoteRef: true,\n ariaDescribedBy: \"footnote-label\"\n },\n [u(\"text\", String(counter))]\n )\n ]);\n}\nfunction footnote(h, node) {\n const footnoteById = h.footnoteById;\n let no = 1;\n while (no in footnoteById)\n no++;\n const identifier = String(no);\n footnoteById[identifier] = {\n type: \"footnoteDefinition\",\n identifier,\n children: [{ type: \"paragraph\", children: node.children }],\n position: node.position\n };\n return footnoteReference(h, {\n type: \"footnoteReference\",\n identifier,\n position: node.position\n });\n}\nfunction heading(h, node) {\n return h(node, \"h\" + node.depth, all(h, node));\n}\nfunction html$2(h, node) {\n return h.dangerous ? h.augment(node, u(\"raw\", node.value)) : null;\n}\nvar encodeCache = {};\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) {\n return cache;\n }\n cache = encodeCache[exclude] = [];\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n if (/^[0-9a-z]$/i.test(ch)) {\n cache.push(ch);\n } else {\n cache.push(\"%\" + (\"0\" + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n return cache;\n}\nfunction encode(string2, exclude, keepEscaped) {\n var i, l, code2, nextCode, cache, result = \"\";\n if (typeof exclude !== \"string\") {\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n if (typeof keepEscaped === \"undefined\") {\n keepEscaped = true;\n }\n cache = getEncodeCache(exclude);\n for (i = 0, l = string2.length; i < l; i++) {\n code2 = string2.charCodeAt(i);\n if (keepEscaped && code2 === 37 && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string2.slice(i + 1, i + 3))) {\n result += string2.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n if (code2 < 128) {\n result += cache[code2];\n continue;\n }\n if (code2 >= 55296 && code2 <= 57343) {\n if (code2 >= 55296 && code2 <= 56319 && i + 1 < l) {\n nextCode = string2.charCodeAt(i + 1);\n if (nextCode >= 56320 && nextCode <= 57343) {\n result += encodeURIComponent(string2[i] + string2[i + 1]);\n i++;\n continue;\n }\n }\n result += \"%EF%BF%BD\";\n continue;\n }\n result += encodeURIComponent(string2[i]);\n }\n return result;\n}\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\nvar encode_1 = encode;\nfunction revert(h, node) {\n const subtype = node.referenceType;\n let suffix = \"]\";\n if (subtype === \"collapsed\") {\n suffix += \"[]\";\n } else if (subtype === \"full\") {\n suffix += \"[\" + (node.label || node.identifier) + \"]\";\n }\n if (node.type === \"imageReference\") {\n return u(\"text\", \"![\" + node.alt + suffix);\n }\n const contents = all(h, node);\n const head = contents[0];\n if (head && head.type === \"text\") {\n head.value = \"[\" + head.value;\n } else {\n contents.unshift(u(\"text\", \"[\"));\n }\n const tail = contents[contents.length - 1];\n if (tail && tail.type === \"text\") {\n tail.value += suffix;\n } else {\n contents.push(u(\"text\", suffix));\n }\n return contents;\n}\nfunction imageReference(h, node) {\n const def = h.definition(node.identifier);\n if (!def) {\n return revert(h, node);\n }\n const props = { src: encode_1(def.url || \"\"), alt: node.alt };\n if (def.title !== null && def.title !== void 0) {\n props.title = def.title;\n }\n return h(node, \"img\", props);\n}\nfunction image(h, node) {\n const props = { src: encode_1(node.url), alt: node.alt };\n if (node.title !== null && node.title !== void 0) {\n props.title = node.title;\n }\n return h(node, \"img\", props);\n}\nfunction inlineCode(h, node) {\n return h(node, \"code\", [u(\"text\", node.value.replace(/\\r?\\n|\\r/g, \" \"))]);\n}\nfunction linkReference(h, node) {\n const def = h.definition(node.identifier);\n if (!def) {\n return revert(h, node);\n }\n const props = { href: encode_1(def.url || \"\") };\n if (def.title !== null && def.title !== void 0) {\n props.title = def.title;\n }\n return h(node, \"a\", props, all(h, node));\n}\nfunction link(h, node) {\n const props = { href: encode_1(node.url) };\n if (node.title !== null && node.title !== void 0) {\n props.title = node.title;\n }\n return h(node, \"a\", props, all(h, node));\n}\nfunction listItem(h, node, parent) {\n const result = all(h, node);\n const loose = parent ? listLoose(parent) : listItemLoose(node);\n const props = {};\n const wrapped = [];\n if (typeof node.checked === \"boolean\") {\n let paragraph2;\n if (result[0] && result[0].type === \"element\" && result[0].tagName === \"p\") {\n paragraph2 = result[0];\n } else {\n paragraph2 = h(null, \"p\", []);\n result.unshift(paragraph2);\n }\n if (paragraph2.children.length > 0) {\n paragraph2.children.unshift(u(\"text\", \" \"));\n }\n paragraph2.children.unshift(\n h(null, \"input\", {\n type: \"checkbox\",\n checked: node.checked,\n disabled: true\n })\n );\n props.className = [\"task-list-item\"];\n }\n let index2 = -1;\n while (++index2 < result.length) {\n const child = result[index2];\n if (loose || index2 !== 0 || child.type !== \"element\" || child.tagName !== \"p\") {\n wrapped.push(u(\"text\", \"\\n\"));\n }\n if (child.type === \"element\" && child.tagName === \"p\" && !loose) {\n wrapped.push(...child.children);\n } else {\n wrapped.push(child);\n }\n }\n const tail = result[result.length - 1];\n if (tail && (loose || !(\"tagName\" in tail) || tail.tagName !== \"p\")) {\n wrapped.push(u(\"text\", \"\\n\"));\n }\n return h(node, \"li\", props, wrapped);\n}\nfunction listLoose(node) {\n let loose = node.spread;\n const children = node.children;\n let index2 = -1;\n while (!loose && ++index2 < children.length) {\n loose = listItemLoose(children[index2]);\n }\n return Boolean(loose);\n}\nfunction listItemLoose(node) {\n const spread = node.spread;\n return spread === void 0 || spread === null ? node.children.length > 1 : spread;\n}\nfunction list(h, node) {\n const props = {};\n const name = node.ordered ? \"ol\" : \"ul\";\n const items = all(h, node);\n let index2 = -1;\n if (typeof node.start === \"number\" && node.start !== 1) {\n props.start = node.start;\n }\n while (++index2 < items.length) {\n const item = items[index2];\n if (item.type === \"element\" && item.tagName === \"li\" && item.properties && Array.isArray(item.properties.className) && item.properties.className.includes(\"task-list-item\")) {\n props.className = [\"contains-task-list\"];\n break;\n }\n }\n return h(node, name, props, wrap(items, true));\n}\nfunction paragraph(h, node) {\n return h(node, \"p\", all(h, node));\n}\nfunction root$1(h, node) {\n return h.augment(node, u(\"root\", wrap(all(h, node))));\n}\nfunction strong(h, node) {\n return h(node, \"strong\", all(h, node));\n}\nfunction table(h, node) {\n const rows = node.children;\n let index2 = -1;\n const align = node.align || [];\n const result = [];\n while (++index2 < rows.length) {\n const row = rows[index2].children;\n const name = index2 === 0 ? \"th\" : \"td\";\n const out = [];\n let cellIndex = -1;\n const length = node.align ? align.length : row.length;\n while (++cellIndex < length) {\n const cell = row[cellIndex];\n out.push(\n h(cell, name, { align: align[cellIndex] }, cell ? all(h, cell) : [])\n );\n }\n result[index2] = h(rows[index2], \"tr\", wrap(out, true));\n }\n return h(\n node,\n \"table\",\n wrap(\n [h(result[0].position, \"thead\", wrap([result[0]], true))].concat(\n result[1] ? h(\n {\n start: pointStart(result[1]),\n end: pointEnd(result[result.length - 1])\n },\n \"tbody\",\n wrap(result.slice(1), true)\n ) : []\n ),\n true\n )\n );\n}\nconst tab = 9;\nconst space = 32;\nfunction trimLines(value) {\n const source = String(value);\n const search2 = /\\r?\\n|\\r/g;\n let match = search2.exec(source);\n let last = 0;\n const lines = [];\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n );\n last = match.index + match[0].length;\n match = search2.exec(source);\n }\n lines.push(trimLine(source.slice(last), last > 0, false));\n return lines.join(\"\");\n}\nfunction trimLine(value, start, end) {\n let startIndex = 0;\n let endIndex = value.length;\n if (start) {\n let code2 = value.codePointAt(startIndex);\n while (code2 === tab || code2 === space) {\n startIndex++;\n code2 = value.codePointAt(startIndex);\n }\n }\n if (end) {\n let code2 = value.codePointAt(endIndex - 1);\n while (code2 === tab || code2 === space) {\n endIndex--;\n code2 = value.codePointAt(endIndex - 1);\n }\n }\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : \"\";\n}\nfunction text$1(h, node) {\n return h.augment(node, u(\"text\", trimLines(String(node.value))));\n}\nfunction thematicBreak(h, node) {\n return h(node, \"hr\");\n}\nconst handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html: html$2,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root: root$1,\n strong,\n table,\n text: text$1,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n};\nfunction ignore() {\n return null;\n}\nconst own$3 = {}.hasOwnProperty;\nfunction factory(tree, options) {\n const settings = options || {};\n const dangerous = settings.allowDangerousHtml || false;\n const footnoteById = {};\n h.dangerous = dangerous;\n h.clobberPrefix = settings.clobberPrefix === void 0 || settings.clobberPrefix === null ? \"user-content-\" : settings.clobberPrefix;\n h.footnoteLabel = settings.footnoteLabel || \"Footnotes\";\n h.footnoteLabelTagName = settings.footnoteLabelTagName || \"h2\";\n h.footnoteLabelProperties = settings.footnoteLabelProperties || {\n id: \"footnote-label\",\n className: [\"sr-only\"]\n };\n h.footnoteBackLabel = settings.footnoteBackLabel || \"Back to content\";\n h.definition = definitions(tree);\n h.footnoteById = footnoteById;\n h.footnoteOrder = [];\n h.footnoteCounts = {};\n h.augment = augment;\n h.handlers = { ...handlers, ...settings.handlers };\n h.unknownHandler = settings.unknownHandler;\n h.passThrough = settings.passThrough;\n visit$2(tree, \"footnoteDefinition\", (definition2) => {\n const id = String(definition2.identifier).toUpperCase();\n if (!own$3.call(footnoteById, id)) {\n footnoteById[id] = definition2;\n }\n });\n return h;\n function augment(left, right) {\n if (left && \"data\" in left && left.data) {\n const data = left.data;\n if (data.hName) {\n if (right.type !== \"element\") {\n right = {\n type: \"element\",\n tagName: \"\",\n properties: {},\n children: []\n };\n }\n right.tagName = data.hName;\n }\n if (right.type === \"element\" && data.hProperties) {\n right.properties = { ...right.properties, ...data.hProperties };\n }\n if (\"children\" in right && right.children && data.hChildren) {\n right.children = data.hChildren;\n }\n }\n if (left) {\n const ctx = \"type\" in left ? left : { position: left };\n if (!generated(ctx)) {\n right.position = { start: pointStart(ctx), end: pointEnd(ctx) };\n }\n }\n return right;\n }\n function h(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props;\n props = {};\n }\n return augment(node, {\n type: \"element\",\n tagName,\n properties: props || {},\n children: children || []\n });\n }\n}\nfunction toHast(tree, options) {\n const h = factory(tree, options);\n const node = one(h, tree, null);\n const foot = footer(h);\n if (foot) {\n node.children.push(u(\"text\", \"\\n\"), foot);\n }\n return Array.isArray(node) ? { type: \"root\", children: node } : node;\n}\nconst remarkRehype = function(destination, options) {\n return destination && \"run\" in destination ? bridge(destination, options) : mutate(destination || options);\n};\nconst remark2rehype = remarkRehype;\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error);\n });\n };\n}\nfunction mutate(options) {\n return (node) => toHast(node, options);\n}\nclass Schema {\n constructor(property, normal, space2) {\n this.property = property;\n this.normal = normal;\n if (space2) {\n this.space = space2;\n }\n }\n}\nSchema.prototype.property = {};\nSchema.prototype.normal = {};\nSchema.prototype.space = null;\nfunction merge(definitions2, space2) {\n const property = {};\n const normal = {};\n let index2 = -1;\n while (++index2 < definitions2.length) {\n Object.assign(property, definitions2[index2].property);\n Object.assign(normal, definitions2[index2].normal);\n }\n return new Schema(property, normal, space2);\n}\nfunction normalize(value) {\n return value.toLowerCase();\n}\nclass Info {\n constructor(property, attribute) {\n this.property = property;\n this.attribute = attribute;\n }\n}\nInfo.prototype.space = null;\nInfo.prototype.boolean = false;\nInfo.prototype.booleanish = false;\nInfo.prototype.overloadedBoolean = false;\nInfo.prototype.number = false;\nInfo.prototype.commaSeparated = false;\nInfo.prototype.spaceSeparated = false;\nInfo.prototype.commaOrSpaceSeparated = false;\nInfo.prototype.mustUseProperty = false;\nInfo.prototype.defined = false;\nlet powers = 0;\nconst boolean = increment();\nconst booleanish = increment();\nconst overloadedBoolean = increment();\nconst number = increment();\nconst spaceSeparated = increment();\nconst commaSeparated = increment();\nconst commaOrSpaceSeparated = increment();\nfunction increment() {\n return 2 ** ++powers;\n}\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n boolean,\n booleanish,\n overloadedBoolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst checks = Object.keys(types);\nclass DefinedInfo extends Info {\n constructor(property, attribute, mask, space2) {\n let index2 = -1;\n super(property, attribute);\n mark(this, \"space\", space2);\n if (typeof mask === \"number\") {\n while (++index2 < checks.length) {\n const check = checks[index2];\n mark(this, checks[index2], (mask & types[check]) === types[check]);\n }\n }\n }\n}\nDefinedInfo.prototype.defined = true;\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value;\n }\n}\nconst own$2 = {}.hasOwnProperty;\nfunction create(definition2) {\n const property = {};\n const normal = {};\n let prop;\n for (prop in definition2.properties) {\n if (own$2.call(definition2.properties, prop)) {\n const value = definition2.properties[prop];\n const info = new DefinedInfo(\n prop,\n definition2.transform(definition2.attributes || {}, prop),\n value,\n definition2.space\n );\n if (definition2.mustUseProperty && definition2.mustUseProperty.includes(prop)) {\n info.mustUseProperty = true;\n }\n property[prop] = info;\n normal[normalize(prop)] = prop;\n normal[normalize(info.attribute)] = prop;\n }\n }\n return new Schema(property, normal, definition2.space);\n}\nconst xlink = create({\n space: \"xlink\",\n transform(_, prop) {\n return \"xlink:\" + prop.slice(5).toLowerCase();\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n});\nconst xml = create({\n space: \"xml\",\n transform(_, prop) {\n return \"xml:\" + prop.slice(3).toLowerCase();\n },\n properties: { xmlLang: null, xmlBase: null, xmlSpace: null }\n});\nfunction caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute;\n}\nfunction caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase());\n}\nconst xmlns = create({\n space: \"xmlns\",\n attributes: { xmlnsxlink: \"xmlns:xlink\" },\n transform: caseInsensitiveTransform,\n properties: { xmlns: null, xmlnsXLink: null }\n});\nconst aria = create({\n transform(_, prop) {\n return prop === \"role\" ? prop : \"aria-\" + prop.slice(4).toLowerCase();\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n});\nconst html$1 = create({\n space: \"html\",\n attributes: {\n acceptcharset: \"accept-charset\",\n classname: \"class\",\n htmlfor: \"for\",\n httpequiv: \"http-equiv\"\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: [\"checked\", \"multiple\", \"muted\", \"selected\"],\n properties: {\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n align: null,\n aLink: null,\n archive: spaceSeparated,\n axis: null,\n background: null,\n bgColor: null,\n border: number,\n borderColor: null,\n bottomMargin: number,\n cellPadding: null,\n cellSpacing: null,\n char: null,\n charOff: null,\n classId: null,\n clear: null,\n code: null,\n codeBase: null,\n codeType: null,\n color: null,\n compact: boolean,\n declare: boolean,\n event: null,\n face: null,\n frame: null,\n frameBorder: null,\n hSpace: number,\n leftMargin: number,\n link: null,\n longDesc: null,\n lowSrc: null,\n marginHeight: number,\n marginWidth: number,\n noResize: boolean,\n noHref: boolean,\n noShade: boolean,\n noWrap: boolean,\n object: null,\n profile: null,\n prompt: null,\n rev: null,\n rightMargin: number,\n rules: null,\n scheme: null,\n scrolling: booleanish,\n standby: null,\n summary: null,\n text: null,\n topMargin: number,\n valueType: null,\n version: null,\n vAlign: null,\n vLink: null,\n vSpace: number,\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n});\nconst svg$1 = create({\n space: \"svg\",\n attributes: {\n accentHeight: \"accent-height\",\n alignmentBaseline: \"alignment-baseline\",\n arabicForm: \"arabic-form\",\n baselineShift: \"baseline-shift\",\n capHeight: \"cap-height\",\n className: \"class\",\n clipPath: \"clip-path\",\n clipRule: \"clip-rule\",\n colorInterpolation: \"color-interpolation\",\n colorInterpolationFilters: \"color-interpolation-filters\",\n colorProfile: \"color-profile\",\n colorRendering: \"color-rendering\",\n crossOrigin: \"crossorigin\",\n dataType: \"datatype\",\n dominantBaseline: \"dominant-baseline\",\n enableBackground: \"enable-background\",\n fillOpacity: \"fill-opacity\",\n fillRule: \"fill-rule\",\n floodColor: \"flood-color\",\n floodOpacity: \"flood-opacity\",\n fontFamily: \"font-family\",\n fontSize: \"font-size\",\n fontSizeAdjust: \"font-size-adjust\",\n fontStretch: \"font-stretch\",\n fontStyle: \"font-style\",\n fontVariant: \"font-variant\",\n fontWeight: \"font-weight\",\n glyphName: \"glyph-name\",\n glyphOrientationHorizontal: \"glyph-orientation-horizontal\",\n glyphOrientationVertical: \"glyph-orientation-vertical\",\n hrefLang: \"hreflang\",\n horizAdvX: \"horiz-adv-x\",\n horizOriginX: \"horiz-origin-x\",\n horizOriginY: \"horiz-origin-y\",\n imageRendering: \"image-rendering\",\n letterSpacing: \"letter-spacing\",\n lightingColor: \"lighting-color\",\n markerEnd: \"marker-end\",\n markerMid: \"marker-mid\",\n markerStart: \"marker-start\",\n navDown: \"nav-down\",\n navDownLeft: \"nav-down-left\",\n navDownRight: \"nav-down-right\",\n navLeft: \"nav-left\",\n navNext: \"nav-next\",\n navPrev: \"nav-prev\",\n navRight: \"nav-right\",\n navUp: \"nav-up\",\n navUpLeft: \"nav-up-left\",\n navUpRight: \"nav-up-right\",\n onAbort: \"onabort\",\n onActivate: \"onactivate\",\n onAfterPrint: \"onafterprint\",\n onBeforePrint: \"onbeforeprint\",\n onBegin: \"onbegin\",\n onCancel: \"oncancel\",\n onCanPlay: \"oncanplay\",\n onCanPlayThrough: \"oncanplaythrough\",\n onChange: \"onchange\",\n onClick: \"onclick\",\n onClose: \"onclose\",\n onCopy: \"oncopy\",\n onCueChange: \"oncuechange\",\n onCut: \"oncut\",\n onDblClick: \"ondblclick\",\n onDrag: \"ondrag\",\n onDragEnd: \"ondragend\",\n onDragEnter: \"ondragenter\",\n onDragExit: \"ondragexit\",\n onDragLeave: \"ondragleave\",\n onDragOver: \"ondragover\",\n onDragStart: \"ondragstart\",\n onDrop: \"ondrop\",\n onDurationChange: \"ondurationchange\",\n onEmptied: \"onemptied\",\n onEnd: \"onend\",\n onEnded: \"onended\",\n onError: \"onerror\",\n onFocus: \"onfocus\",\n onFocusIn: \"onfocusin\",\n onFocusOut: \"onfocusout\",\n onHashChange: \"onhashchange\",\n onInput: \"oninput\",\n onInvalid: \"oninvalid\",\n onKeyDown: \"onkeydown\",\n onKeyPress: \"onkeypress\",\n onKeyUp: \"onkeyup\",\n onLoad: \"onload\",\n onLoadedData: \"onloadeddata\",\n onLoadedMetadata: \"onloadedmetadata\",\n onLoadStart: \"onloadstart\",\n onMessage: \"onmessage\",\n onMouseDown: \"onmousedown\",\n onMouseEnter: \"onmouseenter\",\n onMouseLeave: \"onmouseleave\",\n onMouseMove: \"onmousemove\",\n onMouseOut: \"onmouseout\",\n onMouseOver: \"onmouseover\",\n onMouseUp: \"onmouseup\",\n onMouseWheel: \"onmousewheel\",\n onOffline: \"onoffline\",\n onOnline: \"ononline\",\n onPageHide: \"onpagehide\",\n onPageShow: \"onpageshow\",\n onPaste: \"onpaste\",\n onPause: \"onpause\",\n onPlay: \"onplay\",\n onPlaying: \"onplaying\",\n onPopState: \"onpopstate\",\n onProgress: \"onprogress\",\n onRateChange: \"onratechange\",\n onRepeat: \"onrepeat\",\n onReset: \"onreset\",\n onResize: \"onresize\",\n onScroll: \"onscroll\",\n onSeeked: \"onseeked\",\n onSeeking: \"onseeking\",\n onSelect: \"onselect\",\n onShow: \"onshow\",\n onStalled: \"onstalled\",\n onStorage: \"onstorage\",\n onSubmit: \"onsubmit\",\n onSuspend: \"onsuspend\",\n onTimeUpdate: \"ontimeupdate\",\n onToggle: \"ontoggle\",\n onUnload: \"onunload\",\n onVolumeChange: \"onvolumechange\",\n onWaiting: \"onwaiting\",\n onZoom: \"onzoom\",\n overlinePosition: \"overline-position\",\n overlineThickness: \"overline-thickness\",\n paintOrder: \"paint-order\",\n panose1: \"panose-1\",\n pointerEvents: \"pointer-events\",\n referrerPolicy: \"referrerpolicy\",\n renderingIntent: \"rendering-intent\",\n shapeRendering: \"shape-rendering\",\n stopColor: \"stop-color\",\n stopOpacity: \"stop-opacity\",\n strikethroughPosition: \"strikethrough-position\",\n strikethroughThickness: \"strikethrough-thickness\",\n strokeDashArray: \"stroke-dasharray\",\n strokeDashOffset: \"stroke-dashoffset\",\n strokeLineCap: \"stroke-linecap\",\n strokeLineJoin: \"stroke-linejoin\",\n strokeMiterLimit: \"stroke-miterlimit\",\n strokeOpacity: \"stroke-opacity\",\n strokeWidth: \"stroke-width\",\n tabIndex: \"tabindex\",\n textAnchor: \"text-anchor\",\n textDecoration: \"text-decoration\",\n textRendering: \"text-rendering\",\n typeOf: \"typeof\",\n underlinePosition: \"underline-position\",\n underlineThickness: \"underline-thickness\",\n unicodeBidi: \"unicode-bidi\",\n unicodeRange: \"unicode-range\",\n unitsPerEm: \"units-per-em\",\n vAlphabetic: \"v-alphabetic\",\n vHanging: \"v-hanging\",\n vIdeographic: \"v-ideographic\",\n vMathematical: \"v-mathematical\",\n vectorEffect: \"vector-effect\",\n vertAdvY: \"vert-adv-y\",\n vertOriginX: \"vert-origin-x\",\n vertOriginY: \"vert-origin-y\",\n wordSpacing: \"word-spacing\",\n writingMode: \"writing-mode\",\n xHeight: \"x-height\",\n playbackOrder: \"playbackorder\",\n timelineBegin: \"timelinebegin\"\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null,\n keySplines: null,\n keyTimes: null,\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n});\nconst valid = /^data[-\\w.:]+$/i;\nconst dash = /-[a-z]/g;\nconst cap = /[A-Z]/g;\nfunction find(schema, value) {\n const normal = normalize(value);\n let prop = value;\n let Type = Info;\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]];\n }\n if (normal.length > 4 && normal.slice(0, 4) === \"data\" && valid.test(value)) {\n if (value.charAt(4) === \"-\") {\n const rest = value.slice(5).replace(dash, camelcase);\n prop = \"data\" + rest.charAt(0).toUpperCase() + rest.slice(1);\n } else {\n const rest = value.slice(4);\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab);\n if (dashes.charAt(0) !== \"-\") {\n dashes = \"-\" + dashes;\n }\n value = \"data\" + dashes;\n }\n }\n Type = DefinedInfo;\n }\n return new Type(prop, value);\n}\nfunction kebab($0) {\n return \"-\" + $0.toLowerCase();\n}\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase();\n}\nconst hastToReact = {\n classId: \"classID\",\n dataType: \"datatype\",\n itemId: \"itemID\",\n strokeDashArray: \"strokeDasharray\",\n strokeDashOffset: \"strokeDashoffset\",\n strokeLineCap: \"strokeLinecap\",\n strokeLineJoin: \"strokeLinejoin\",\n strokeMiterLimit: \"strokeMiterlimit\",\n typeOf: \"typeof\",\n xLinkActuate: \"xlinkActuate\",\n xLinkArcRole: \"xlinkArcrole\",\n xLinkHref: \"xlinkHref\",\n xLinkRole: \"xlinkRole\",\n xLinkShow: \"xlinkShow\",\n xLinkTitle: \"xlinkTitle\",\n xLinkType: \"xlinkType\",\n xmlnsXLink: \"xmlnsXlink\"\n};\nconst html = merge([xml, xlink, xmlns, aria, html$1], \"html\");\nconst svg = merge([xml, xlink, xmlns, aria, svg$1], \"svg\");\nfunction stringify$1(values) {\n return values.join(\" \").trim();\n}\nfunction stringify(values, options) {\n var settings = options || {};\n if (values[values.length - 1] === \"\") {\n values = values.concat(\"\");\n }\n return values.join(\n (settings.padRight ? \" \" : \"\") + \",\" + (settings.padLeft === false ? \"\" : \" \")\n ).trim();\n}\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\nvar NEWLINE = \"\\n\";\nvar FORWARD_SLASH = \"/\";\nvar ASTERISK = \"*\";\nvar EMPTY_STRING = \"\";\nvar TYPE_COMMENT = \"comment\";\nvar TYPE_DECLARATION = \"declaration\";\nvar inlineStyleParser = function(style, options) {\n if (typeof style !== \"string\") {\n throw new TypeError(\"First argument must be a string\");\n }\n if (!style)\n return [];\n options = options || {};\n var lineno = 1;\n var column = 1;\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines)\n lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n function position2() {\n var start = { line: lineno, column };\n return function(node) {\n node.position = new Position(start);\n whitespace2();\n return node;\n };\n }\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column };\n this.source = options.source;\n }\n Position.prototype.content = style;\n function error(msg) {\n var err = new Error(\n options.source + \":\" + lineno + \":\" + column + \": \" + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n if (options.silent)\n ;\n else {\n throw err;\n }\n }\n function match(re) {\n var m = re.exec(style);\n if (!m)\n return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n function whitespace2() {\n match(WHITESPACE_REGEX);\n }\n function comments(rules) {\n var c;\n rules = rules || [];\n while (c = comment()) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n function comment() {\n var pos = position2();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1))\n return;\n var i = 2;\n while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) {\n ++i;\n }\n i += 2;\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error(\"End of comment missing\");\n }\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n function declaration() {\n var pos = position2();\n var prop = match(PROPERTY_REGEX);\n if (!prop)\n return;\n comment();\n if (!match(COLON_REGEX))\n return error(\"property missing ':'\");\n var val = match(VALUE_REGEX);\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING\n });\n match(SEMICOLON_REGEX);\n return ret;\n }\n function declarations() {\n var decls = [];\n comments(decls);\n var decl;\n while (decl = declaration()) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n return decls;\n }\n whitespace2();\n return declarations();\n};\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\nvar parse$1 = inlineStyleParser;\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== \"string\") {\n return output;\n }\n var declaration;\n var declarations = parse$1(style);\n var hasIterator = typeof iterator === \"function\";\n var property;\n var value;\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n return output;\n}\nvar styleToObject = StyleToObject;\nconst webNamespaces = {\n html: \"http://www.w3.org/1999/xhtml\",\n mathml: \"http://www.w3.org/1998/Math/MathML\",\n svg: \"http://www.w3.org/2000/svg\",\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\nconst ns = webNamespaces;\nconst toReact = hastToReact;\nconst own$1 = {}.hasOwnProperty;\nconst root = convert$2(\"root\");\nconst element = convert$2(\"element\");\nconst text = convert$2(\"text\");\nfunction toH(h, tree, options) {\n if (typeof h !== \"function\") {\n throw new TypeError(\"h is not a function\");\n }\n const r = react(h);\n const v = vue(h);\n const vd = vdom(h);\n let prefix;\n let node;\n if (typeof options === \"string\" || typeof options === \"boolean\") {\n prefix = options;\n options = {};\n } else {\n if (!options)\n options = {};\n prefix = options.prefix;\n }\n if (root(tree)) {\n node = tree.children.length === 1 && element(tree.children[0]) ? tree.children[0] : {\n type: \"element\",\n tagName: \"div\",\n properties: {},\n children: tree.children\n };\n } else if (element(tree)) {\n node = tree;\n } else {\n throw new Error(\n \"Expected root or element, not `\" + (tree && tree.type || tree) + \"`\"\n );\n }\n return transform(h, node, {\n schema: options.space === \"svg\" ? svg : html,\n prefix: prefix === void 0 || prefix === null ? r || v || vd ? \"h-\" : null : typeof prefix === \"string\" ? prefix : prefix ? \"h-\" : null,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n });\n}\nfunction transform(h, node, ctx) {\n const parentSchema = ctx.schema;\n let schema = parentSchema;\n let name = node.tagName;\n const attributes = {};\n const nodes = [];\n let index2 = -1;\n let key;\n if (parentSchema.space === \"html\" && name.toLowerCase() === \"svg\") {\n schema = svg;\n ctx.schema = schema;\n }\n for (key in node.properties) {\n if (node.properties && own$1.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], ctx, name);\n }\n }\n if (ctx.vdom) {\n if (schema.space === \"html\") {\n name = name.toUpperCase();\n } else if (schema.space) {\n attributes.namespace = ns[schema.space];\n }\n }\n if (ctx.prefix) {\n ctx.key++;\n attributes.key = ctx.prefix + ctx.key;\n }\n if (node.children) {\n while (++index2 < node.children.length) {\n const value = node.children[index2];\n if (element(value)) {\n nodes.push(transform(h, value, ctx));\n } else if (text(value)) {\n nodes.push(value.value);\n }\n }\n }\n ctx.schema = parentSchema;\n return nodes.length > 0 ? h.call(node, name, attributes, nodes) : h.call(node, name, attributes);\n}\nfunction addAttribute(props, prop, value, ctx, name) {\n const info = find(ctx.schema, prop);\n let subprop;\n if (value === void 0 || value === null || typeof value === \"number\" && Number.isNaN(value) || value === false && (ctx.vue || ctx.vdom || ctx.hyperscript) || !value && info.boolean && (ctx.vue || ctx.vdom || ctx.hyperscript)) {\n return;\n }\n if (Array.isArray(value)) {\n value = info.commaSeparated ? stringify(value) : stringify$1(value);\n }\n if (info.boolean && ctx.hyperscript) {\n value = \"\";\n }\n if (info.property === \"style\" && typeof value === \"string\" && (ctx.react || ctx.vue || ctx.vdom)) {\n value = parseStyle(value, name);\n }\n if (ctx.vue) {\n if (info.property !== \"style\")\n subprop = \"attrs\";\n } else if (!info.mustUseProperty) {\n if (ctx.vdom) {\n if (info.property !== \"style\")\n subprop = \"attributes\";\n } else if (ctx.hyperscript) {\n subprop = \"attrs\";\n }\n }\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n });\n } else if (info.space && ctx.react) {\n props[toReact[info.property] || info.property] = value;\n } else {\n props[info.attribute] = value;\n }\n}\nfunction react(h) {\n const node = h(\"div\", {});\n return Boolean(\n node && (\"_owner\" in node || \"_store\" in node) && (node.key === void 0 || node.key === null)\n );\n}\nfunction hyperscript(h) {\n return \"context\" in h && \"cleanup\" in h;\n}\nfunction vdom(h) {\n const node = h(\"div\", {});\n return node.type === \"VirtualNode\";\n}\nfunction vue(h) {\n const node = h(\"div\", {});\n return Boolean(node && node.context && node.context._isVue);\n}\nfunction parseStyle(value, tagName) {\n const result = {};\n try {\n styleToObject(value, (name, value2) => {\n if (name.slice(0, 4) === \"-ms-\")\n name = \"ms-\" + name.slice(4);\n result[name.replace(\n /-([a-z])/g,\n (_, $1) => $1.toUpperCase()\n )] = value2;\n });\n } catch (error) {\n error.message = tagName + \"[style]\" + error.message.slice(\"undefined\".length);\n throw error;\n }\n return result;\n}\nvar convert_1 = convert$1;\nfunction convert$1(test) {\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"object\") {\n return (\"length\" in test ? anyFactory : matchesFactory)(test);\n }\n if (typeof test === \"function\") {\n return test;\n }\n throw new Error(\"Expected function, string, or object as test\");\n}\nfunction convertAll(tests) {\n var results = [];\n var length = tests.length;\n var index2 = -1;\n while (++index2 < length) {\n results[index2] = convert$1(tests[index2]);\n }\n return results;\n}\nfunction matchesFactory(test) {\n return matches;\n function matches(node) {\n var key;\n for (key in test) {\n if (node[key] !== test[key]) {\n return false;\n }\n }\n return true;\n }\n}\nfunction anyFactory(tests) {\n var checks2 = convertAll(tests);\n var length = checks2.length;\n return matches;\n function matches() {\n var index2 = -1;\n while (++index2 < length) {\n if (checks2[index2].apply(this, arguments)) {\n return true;\n }\n }\n return false;\n }\n}\nfunction typeFactory(test) {\n return type;\n function type(node) {\n return Boolean(node && node.type === test);\n }\n}\nfunction ok() {\n return true;\n}\nvar unistUtilVisitParents = visitParents$1;\nvar convert = convert_1;\nvar CONTINUE$1 = true;\nvar SKIP$1 = \"skip\";\nvar EXIT$1 = false;\nvisitParents$1.CONTINUE = CONTINUE$1;\nvisitParents$1.SKIP = SKIP$1;\nvisitParents$1.EXIT = EXIT$1;\nfunction visitParents$1(tree, test, visitor2, reverse) {\n var is;\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n is = convert(test);\n one2(tree, null, []);\n function one2(node, index2, parents) {\n var result = [];\n var subresult;\n if (!test || is(node, index2, parents[parents.length - 1] || null)) {\n result = toResult(visitor2(node, parents));\n if (result[0] === EXIT$1) {\n return result;\n }\n }\n if (node.children && result[0] !== SKIP$1) {\n subresult = toResult(all2(node.children, parents.concat(node)));\n return subresult[0] === EXIT$1 ? subresult : result;\n }\n return result;\n }\n function all2(children, parents) {\n var min = -1;\n var step = reverse ? -1 : 1;\n var index2 = (reverse ? children.length : min) + step;\n var result;\n while (index2 > min && index2 < children.length) {\n result = one2(children[index2], index2, parents);\n if (result[0] === EXIT$1) {\n return result;\n }\n index2 = typeof result[1] === \"number\" ? result[1] : index2 + step;\n }\n }\n}\nfunction toResult(value) {\n if (value !== null && typeof value === \"object\" && \"length\" in value) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE$1, value];\n }\n return [value];\n}\nvar unistUtilVisit = visit$1;\nvar visitParents = unistUtilVisitParents;\nvar CONTINUE = visitParents.CONTINUE;\nvar SKIP = visitParents.SKIP;\nvar EXIT = visitParents.EXIT;\nvisit$1.CONTINUE = CONTINUE;\nvisit$1.SKIP = SKIP;\nvisit$1.EXIT = EXIT;\nfunction visit$1(tree, test, visitor2, reverse) {\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n visitParents(tree, test, overload, reverse);\n function overload(node, parents) {\n var parent = parents[parents.length - 1];\n var index2 = parent ? parent.children.indexOf(node) : null;\n return visitor2(node, index2, parent);\n }\n}\nvar visit = unistUtilVisit;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: \"text-align\",\n valign: \"vertical-align\",\n height: \"height\",\n width: \"width\"\n};\nvar hastUtilTableCellStyle = function tableCellStyle(node) {\n visit(node, \"element\", visitor);\n return node;\n};\nfunction visitor(node) {\n if (node.tagName !== \"tr\" && node.tagName !== \"td\" && node.tagName !== \"th\") {\n return;\n }\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (!hasOwnProperty.call(hastCssPropertyMap, hastName) || node.properties[hastName] === void 0) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || \"\").trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += \";\";\n }\n if (prevStyle) {\n prevStyle += \" \";\n }\n var nextStyle = prevStyle + property + \": \" + value + \";\";\n node.properties.style = nextStyle;\n}\nconst tableCellStyle2 = hastUtilTableCellStyle;\nfunction whitespace(thing) {\n var value = thing && typeof thing === \"object\" && thing.type === \"text\" ? thing.value || \"\" : thing;\n return typeof value === \"string\" && value.replace(/[ \\t\\n\\f\\r]/g, \"\") === \"\";\n}\nconst own = {}.hasOwnProperty;\nconst tableElements = /* @__PURE__ */ new Set([\n \"table\",\n \"thead\",\n \"tbody\",\n \"tfoot\",\n \"tr\",\n \"th\",\n \"td\"\n]);\nfunction rehypeReact(options) {\n if (!options || typeof options.createElement !== \"function\") {\n throw new TypeError(\"createElement is not a function\");\n }\n const createElement = options.createElement;\n Object.assign(this, { Compiler: compiler2 });\n function compiler2(node) {\n let result = toH(h, tableCellStyle2(node), options.prefix);\n if (node.type === \"root\") {\n result = result && typeof result === \"object\" && \"type\" in result && \"props\" in result && result.type === \"div\" && (node.children.length !== 1 || node.children[0].type !== \"element\") ? result.props.children : [result];\n return createElement(options.Fragment || \"div\", {}, result);\n }\n return result;\n }\n function h(name, props, children) {\n if (children && tableElements.has(name)) {\n children = children.filter((child) => !whitespace(child));\n }\n if (options.components && own.call(options.components, name)) {\n const component = options.components[name];\n if (options.passNode && typeof component === \"function\") {\n props = Object.assign({ node: this }, props);\n }\n return createElement(component, props, children);\n }\n return createElement(name, props, children);\n }\n}\nfunction parse(value) {\n const input = String(value || \"\").trim();\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : [];\n}\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\nfunction isAbsoluteUrl(url) {\n if (typeof url !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n }\n if (WINDOWS_PATH_REGEX.test(url)) {\n return false;\n }\n return ABSOLUTE_URL_REGEX.test(url);\n}\nconst defaultTarget = \"_blank\";\nconst defaultRel = [\"nofollow\", \"noopener\", \"noreferrer\"];\nconst defaultProtocols = [\"http\", \"https\"];\nfunction remarkExternalLinks(options = {}) {\n const target = options.target;\n const rel = typeof options.rel === \"string\" ? parse(options.rel) : options.rel;\n const protocols = options.protocols || defaultProtocols;\n const content2 = options.content && !Array.isArray(options.content) ? [options.content] : options.content;\n const contentProperties = options.contentProperties || {};\n return (tree) => {\n const definition2 = definitions(tree);\n visit$2(tree, (node) => {\n if (node.type === \"link\" || node.type === \"linkReference\") {\n const ctx = node.type === \"link\" ? node : definition2(node.identifier);\n if (!ctx)\n return;\n const protocol = ctx.url.slice(0, ctx.url.indexOf(\":\"));\n if (isAbsoluteUrl(ctx.url) && protocols.includes(protocol)) {\n const data = node.data || (node.data = {});\n const props = data.hProperties || (data.hProperties = {});\n if (target !== false) {\n props.target = target || defaultTarget;\n }\n if (rel !== false) {\n props.rel = (rel || defaultRel).concat();\n }\n if (content2) {\n node.children.push({\n type: \"fragment\",\n children: [],\n data: {\n hName: \"span\",\n hProperties: extend(true, contentProperties),\n hChildren: extend(true, content2)\n }\n });\n }\n }\n }\n });\n };\n}\nconst Link = {\n name: \"Link\",\n functional: true,\n props: {\n href: {\n type: String,\n required: true\n }\n },\n render(h, { data, props }) {\n return h(\"a\", {\n attrs: {\n href: props.href,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n class: \"rich-text--external-link\"\n }\n }, [props.href.trim()]);\n }\n};\nconst remarkAutolink = function({ autolink: autolink2, useMarkdown }) {\n return function(tree) {\n if (!useMarkdown || !autolink2) {\n return;\n }\n visit$2(tree, (node) => node.type === \"text\", (node, index2, parent) => {\n let parsed = parseUrl(node.value);\n parsed = parsed.map((n) => {\n if (typeof n === \"string\") {\n return u(\"text\", n);\n }\n return u(\"link\", {\n url: n.props.href\n }, [u(\"text\", n.props.href)]);\n }).filter((x) => x);\n parent.children.splice(index2, 1, ...parsed.flat());\n return [SKIP$2, index2 + parsed.flat().length];\n });\n };\n};\nconst parseUrl = (text2, linkComponent) => {\n let match = URL_PATTERN_AUTOLINK.exec(text2);\n const list2 = [];\n let start = 0;\n while (match !== null) {\n let href = match[2];\n let textAfter;\n let textBefore = text2.substring(start, match.index + match[1].length);\n if (href[0] === \" \") {\n textBefore += href[0];\n href = href.substring(1).trim();\n }\n const lastChar = href[href.length - 1];\n if (lastChar === \".\" || lastChar === \",\" || lastChar === \";\" || match[0][0] === \"(\" && lastChar === \")\") {\n href = href.substring(0, href.length - 1);\n textAfter = lastChar;\n }\n list2.push(textBefore);\n list2.push({ component: Link, props: { href } });\n if (textAfter) {\n list2.push(textAfter);\n }\n start = match.index + match[0].length;\n match = URL_PATTERN_AUTOLINK.exec(text2);\n }\n list2.push(text2.substring(start));\n const joinedText = list2.map((item) => typeof item === \"string\" ? item : item.props.href).join(\"\");\n if (text2 === joinedText) {\n return list2;\n }\n console.error(\"Failed to reassemble the chunked text: \" + text2);\n return text2;\n};\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit$2(ast, (node) => node.type === \"text\", visitor2);\n function visitor2(node, index2, parent) {\n const placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index3, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n node = u(\"element\", { tagName: \"span\" }, [\n ...placeholders\n ]);\n parent.children[index2] = node;\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n });\n }\n return text2;\n};\nconst RichText_vue_vue_type_style_index_0_scoped_a8ade67f_lang = \"\";\nconst _sfc_main = {\n name: \"RichText\",\n components: {\n ReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n references: {\n type: Object,\n default: null\n },\n markdownCssClasses: {\n type: Object,\n default: () => {\n return {\n a: \"rich-text--external-link\",\n ol: \"rich-text--ordered-list\",\n ul: \"rich-text--un-ordered-list\",\n li: \"rich-text--list-item\",\n strong: \"rich-text--strong\",\n em: \"rich-text--italic\",\n h1: \"rich-text--heading rich-text--heading-1\",\n h2: \"rich-text--heading rich-text--heading-2\",\n h3: \"rich-text--heading rich-text--heading-3\",\n h4: \"rich-text--heading rich-text--heading-4\",\n h5: \"rich-text--heading rich-text--heading-5\",\n h6: \"rich-text--heading rich-text--heading-6\",\n hr: \"rich-text--hr\",\n table: \"rich-text--table\",\n pre: \"rich-text--pre\",\n code: \"rich-text--code\",\n blockquote: \"rich-text--blockquote\"\n };\n }\n },\n useMarkdown: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index2, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(ReferenceList, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown\n }).use(remarkExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(remarkBreaks).use(remark2rehype, {\n handlers: {\n component(toHast2, node) {\n return toHast2(node, node.component, { value: node.value });\n }\n }\n }).use(remarkPlaceholder).use(rehypeReact, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(this.text).result;\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(ReferenceList, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n }\n },\n render(h) {\n if (!this.useMarkdown) {\n return this.renderPlaintext(h);\n }\n return this.renderMarkdown(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"a8ade67f\",\n null,\n null\n);\nconst RichText = __component__.exports;\nexport {\n ReferenceList,\n ReferenceWidget,\n RichText,\n RichText as default,\n isWidgetRegistered,\n registerWidget,\n renderWidget\n};\n","/**\n * @copyright Copyright (c) 2021 Louis Chemineau \n *\n * @author Louis Chemineau \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport moment from '@nextcloud/moment'\n\nexport default class ActivityModel {\n\n\t_activity\n\n\t/**\n\t * Create the activity object\n\t *\n\t * @param {object} rawActivity the activity object from the ocs response\n\t */\n\tconstructor(rawActivity) {\n\t\tif (typeof rawActivity !== 'object') {\n\t\t\tthrow new Error('Received activity data is not an object.')\n\t\t}\n\n\t\t// Sanity checks\n\t\tif (typeof rawActivity.activity_id !== 'number') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.type !== 'string' || rawActivity.type.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.subject !== 'string' || rawActivity.subject.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.icon !== 'string' || rawActivity.icon.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.datetime !== 'string' || rawActivity.datetime.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\n\t\t// store state\n\t\tthis._activity = rawActivity\n\t}\n\n\t/**\n\t * get the activity id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget id() {\n\t\treturn this._activity.id\n\t}\n\n\t/**\n\t * Get the activity app\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget app() {\n\t\treturn this._activity.app\n\t}\n\n\t/**\n\t * Get the activity type\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget type() {\n\t\treturn this._activity.type\n\t}\n\n\t/**\n\t * Get the activity user\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget user() {\n\t\treturn this._activity.user\n\t}\n\n\t/**\n\t * Get the activity subject\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget subject() {\n\t\treturn this._activity.subject\n\t}\n\n\t/**\n\t * Get the activity subject_rich template\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget subjectRichTemplate() {\n\t\treturn this._activity.subject_rich[0]\n\t}\n\n\t/**\n\t * Get the activity subject_rich objects\n\t *\n\t * @return {Object}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget subjectRichObjects() {\n\t\tif (Array.isArray(this._activity.subject_rich[1])) {\n\t\t\treturn {}\n\t\t}\n\n\t\treturn this._activity.subject_rich[1]\n\t}\n\n\t/**\n\t * Get the activity message\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget message() {\n\t\treturn this._activity.message\n\t}\n\n\t/**\n\t * Get the activity message_rich template\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget messageRichTemplate() {\n\t\treturn this._activity.message_rich[0]\n\t}\n\n\t/**\n\t * Get the activity message_rich objects\n\t *\n\t * @return {Object}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget messageRichObjects() {\n\t\tif (Array.isArray(this._activity.message_rich[1])) {\n\t\t\treturn {}\n\t\t}\n\n\t\treturn this._activity.message_rich[1]\n\t}\n\n\t/**\n\t * Get the object_type\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget objectType() {\n\t\treturn this._activity.object_type\n\t}\n\n\t/**\n\t * Get the activity object_id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget objectId() {\n\t\treturn this._activity.object_id\n\t}\n\n\t/**\n\t * Get the activity object_name\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget objectName() {\n\t\treturn this._activity.object_name\n\t}\n\n\t/**\n\t * Get the activity link\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget link() {\n\t\treturn this._activity.link\n\t}\n\n\t/**\n\t * Get the activity icon\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget icon() {\n\t\treturn this._activity.icon\n\t}\n\n\t/**\n\t * Get the activity datetime\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget datetime() {\n\t\treturn this._activity.datetime\n\t}\n\n\t/**\n\t * Get the activity formatted date from the current date\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget dateFromNow() {\n\t\treturn moment(this._activity.datetime).fromNow()\n\t}\n\n\t/**\n\t * Get the activity formatted datetime\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget formattedDate() {\n\t\treturn moment(this._activity.datetime).format('LLL')\n\t}\n\n\t/**\n\t * Get the activity timestamp\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget timestamp() {\n\t\treturn moment(this._activity.datetime).unix()\n\t}\n\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"rich-text-file\"},[(!_vm.isRoot && _vm.parentPathIsRoot)?_c('a',{attrs:{\"href\":_vm.link}},[_vm._v(_vm._s(_vm.name))]):_vm._e(),_vm._v(\" \"),(!_vm.isRoot && !_vm.parentPathIsRoot)?_c('a',{attrs:{\"title\":_vm.t('activity', 'in {path}', {path: _vm.parentFolder}),\"aria-label\":_vm.t('activity', 'in {path}', {path: _vm.parentFolder}),\"href\":_vm.link}},[_vm._v(_vm._s(_vm.name))]):_vm._e(),_vm._v(\" \"),(_vm.isRoot)?_c('span',{staticClass:\"icon-home\",attrs:{\"title\":_vm.t('activity', 'Home'),\"aria-label\":\"t('activity', 'Home')\"}}):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=script&lang=js\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=style&index=0&id=8696f7f0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=style&index=0&id=8696f7f0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileRichArgument.vue?vue&type=template&id=8696f7f0&scoped=true\"\nimport script from \"./FileRichArgument.vue?vue&type=script&lang=js\"\nexport * from \"./FileRichArgument.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileRichArgument.vue?vue&type=style&index=0&id=8696f7f0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8696f7f0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailRichArgument.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailRichArgument.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./EmailRichArgument.vue?vue&type=template&id=42f46e36\"\nimport script from \"./EmailRichArgument.vue?vue&type=script&lang=js\"\nexport * from \"./EmailRichArgument.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{attrs:{\"href\":`mailto:${_vm.id}`}},[_vm._v(_vm._s(_vm.name))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=style&index=0&id=7e2ba972&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=style&index=0&id=7e2ba972&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SystemTagRichArgument.vue?vue&type=template&id=7e2ba972&scoped=true\"\nimport script from \"./SystemTagRichArgument.vue?vue&type=script&lang=js\"\nexport * from \"./SystemTagRichArgument.vue?vue&type=script&lang=js\"\nimport style0 from \"./SystemTagRichArgument.vue?vue&type=style&index=0&id=7e2ba972&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e2ba972\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('strong',[_vm._v(_vm._s(_vm.name))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarEventRichArgument.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarEventRichArgument.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./CalendarEventRichArgument.vue?vue&type=template&id=7c75a1c2\"\nimport script from \"./CalendarEventRichArgument.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarEventRichArgument.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{attrs:{\"href\":_vm.link,\"title\":_vm.title}},[_c('strong',[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenGraphRichArgument.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenGraphRichArgument.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./OpenGraphRichArgument.vue?vue&type=template&id=6961e357\"\nimport script from \"./OpenGraphRichArgument.vue?vue&type=script&lang=js\"\nexport * from \"./OpenGraphRichArgument.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{attrs:{\"href\":_vm.link}},[_c('div',{staticClass:\"opengraph\",attrs:{\"id\":`opengraph-${_vm.id}`}},[(_vm.thumbIsDefined)?_c('div',{staticClass:\"opengraph-thumb\",style:(`background-image: url('${_vm.thumb}')`)}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"opengraph-name\",class:{'opengraph-with-thumb': _vm.thumbIsDefined}},[_vm._v(_vm._s(_vm.name))]),_vm._v(\" \"),_c('div',{staticClass:\"opengraph-description\",class:{'opengraph-with-thumb': _vm.thumbIsDefined}},[_vm._v(_vm._s(_vm.description))]),_vm._v(\" \"),_c('span',{staticClass:\"opengraph-website\"},[_vm._v(_vm._s(_vm.website))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=style&index=0&id=35ab5901&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=style&index=0&id=35ab5901&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Activity.vue?vue&type=template&id=35ab5901&scoped=true\"\nimport script from \"./Activity.vue?vue&type=script&lang=js\"\nexport * from \"./Activity.vue?vue&type=script&lang=js\"\nimport style0 from \"./Activity.vue?vue&type=style&index=0&id=35ab5901&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35ab5901\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"activity-entry\"},[_c('NcAvatar',{class:[_vm.applyMonochromeIconColor, 'activity-entry__icon', 'activity-icon'],attrs:{\"disable-menu\":true,\"disable-tooltip\":true,\"url\":_vm.activity.icon,\"size\":15}}),_vm._v(\" \"),_c('div',{staticClass:\"activity-entry__content\"},[_c('RichText',{staticClass:\"activity-entry__content__subject\",attrs:{\"text\":_vm.subjectText,\"arguments\":_vm.subjectArguments}}),_vm._v(\" \"),_c('RichText',{staticClass:\"activity-entry__content__message\",attrs:{\"text\":_vm.messageText,\"arguments\":_vm.messageArguments}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.activity.formattedDate))]),_vm._v(\" \"),_c('span',{staticClass:\"activity-entry__date\",attrs:{\"title\":_vm.activity.formattedDate}},[_vm._v(_vm._s(_vm.dateFromNow))])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2021 Louis Chemineau \n *\n * @author Louis Chemineau \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('activity')\n\t.detectUser()\n\t.build()\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=style&index=0&id=030d4a40&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=style&index=0&id=030d4a40&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ActivityTab.vue?vue&type=template&id=030d4a40&scoped=true\"\nimport script from \"./ActivityTab.vue?vue&type=script&lang=js\"\nexport * from \"./ActivityTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./ActivityTab.vue?vue&type=style&index=0&id=030d4a40&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"030d4a40\",\n null\n \n)\n\nexport default component.exports","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar valid = require('semver/functions/valid.js');\nvar major = require('semver/functions/major.js');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar valid__default = /*#__PURE__*/_interopDefaultLegacy(valid);\nvar major__default = /*#__PURE__*/_interopDefaultLegacy(major);\n\nvar ProxyBus = /** @class */ (function () {\n function ProxyBus(bus) {\n if (typeof bus.getVersion !== 'function' || !valid__default[\"default\"](bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n }\n else if (major__default[\"default\"](bus.getVersion()) !== major__default[\"default\"](this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n this.bus = bus;\n }\n ProxyBus.prototype.getVersion = function () {\n return \"3.1.0\";\n };\n ProxyBus.prototype.subscribe = function (name, handler) {\n this.bus.subscribe(name, handler);\n };\n ProxyBus.prototype.unsubscribe = function (name, handler) {\n this.bus.unsubscribe(name, handler);\n };\n ProxyBus.prototype.emit = function (name, event) {\n this.bus.emit(name, event);\n };\n return ProxyBus;\n}());\n\nvar SimpleBus = /** @class */ (function () {\n function SimpleBus() {\n this.handlers = new Map();\n }\n SimpleBus.prototype.getVersion = function () {\n return \"3.1.0\";\n };\n SimpleBus.prototype.subscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n };\n SimpleBus.prototype.unsubscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) { return h != handler; }));\n };\n SimpleBus.prototype.emit = function (name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n }\n catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n };\n return SimpleBus;\n}());\n\nvar bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === 'undefined') {\n // testing or SSR\n return new Proxy({}, {\n get: function () {\n return function () { return console.error('Window not available, EventBus can not be established!'); };\n }\n });\n }\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n }\n // Either use an existing event bus instance or create one\n if (typeof (window === null || window === void 0 ? void 0 : window._nc_event_bus) !== 'undefined') {\n bus = new ProxyBus(window._nc_event_bus);\n }\n else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\nfunction subscribe(name, handler) {\n getBus().subscribe(name, handler);\n}\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\nfunction unsubscribe(name, handler) {\n getBus().unsubscribe(name, handler);\n}\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n\nexports.ProxyBus = ProxyBus;\nexports.SimpleBus = SimpleBus;\nexports.emit = emit;\nexports.subscribe = subscribe;\nexports.unsubscribe = unsubscribe;\n//# sourceMappingURL=index.cjs.map\n"],"names":["eventBus","token","undefined","observers","subscribe","e","forEach","observer","console","error","getAttribute","el","attribute","currentUser","exports","getCurrentUser","head","document","getElementsByTagName","uid","displayName","isAdmin","OC","isUserAdmin","getRequestToken","tokenElement","onRequestTokenUpdate","push","debug","MAX_LENGTH","MAX_SAFE_INTEGER","safeRe","re","t","parseOptions","compareIdentifiers","SemVer","constructor","version","options","loose","includePrerelease","TypeError","length","this","m","trim","match","LOOSE","FULL","raw","major","minor","patch","prerelease","split","map","id","test","num","build","format","join","toString","compare","other","compareMain","comparePre","i","a","b","compareBuild","inc","release","identifier","identifierBase","base","Number","Error","isNaN","module","throwErrors","er","parse","v","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","process","env","NODE_DEBUG","args","numeric","anum","bnum","rcompareIdentifiers","looseOption","Object","freeze","emptyOpts","src","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","name","value","isGlobal","safe","max","makeSafeRegex","index","RegExp","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","GetText","GettextBuilder","translations","setLanguage","language","locale","detectLocale","documentElement","lang","replace","addTranslation","data","enableDebugMode","GettextWrapper","gt","sourceLocale","key","addTranslations","setLocale","subtitudePlaceholders","translated","vars","r","gettext","original","placeholders","ngettext","singular","plural","count","getGettextBuilder","defineProperty","ConsoleLogger","buildConsoleLogger","context","_contracts","_typeof","o","Symbol","iterator","prototype","_defineProperties","target","props","descriptor","enumerable","configurable","writable","_toPropertyKey","arg","input","hint","prim","toPrimitive","res","call","String","_toPrimitive","obj","instance","Constructor","_classCallCheck","protoProps","message","level","msg","LogLevel","toUpperCase","app","concat","Debug","stack","_this$context","_this$context2","formatMessage","Info","info","Warn","warn","Fatal","log","assign","LoggerBuilder","_auth","_defineProperty","factory","appId","user","self","onLoaded","_window$_oc_config$lo","_window$_oc_config","readyState","window","_oc_config","loglevel","_oc_debug","removeEventListener","addEventListener","detectLogLevel","_LoggerBuilder","_ConsoleLogger","n","s","__esModule","default","d","get","hasOwnProperty","toStringTag","u","l","getLocale","json","charset","headers","Language","msgid","comments","translator","msgstr","seconds","reference","updateLocale","parentLocale","relativeTime","localeData","_relativeTime","dataset","getCanonicalLocale","getDayNames","dayNames","getDayNamesMin","dayNamesMin","getDayNamesShort","dayNamesShort","getFirstDay","firstDay","getLanguage","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","translate","text","L10N","translatePlural","textSingular","textPlural","joinPaths","_len","arguments","Array","_key","nonEmptyArgs","filter","lastArg","leadingSlash","charAt","trailingSlash","sections","reduce","acc","section","first","path","path1","path2","pathSections1","p","pathSections2","apply","k","size","type","appearance","validator","includes","title","computed","colors","reverse","c","g","h","A","styleTagTransform","setAttributes","insert","bind","domAPI","insertStyleElement","Z","locals","C","f","y","_self","_c","staticClass","attrs","role","width","height","viewBox","fill","_v","_s","_e","z","components","Dropdown","inheritAttrs","popoverBaseClass","focusTrap","Boolean","setReturnFocus","HTMLElement","SVGElement","emits","beforeDestroy","clearFocusTrap","methods","async","$nextTick","$refs","popover","popperContent","$el","$focusTrap","createFocusTrap","escapeDeactivates","allowOutsideClick","trapStack","L","activate","deactivate","afterShow","$emit","useFocusTrap","afterHide","S","w","x","_g","_b","ref","distance","on","scopedSlots","_u","fn","_t","proxy","$attrs","$listeners","N","item","required","href","icon","indexOf","Math","round","random","iconIsUrl","URL","action","NcPopoverMenuItem","download","rel","click","class","longtext","active","submit","preventDefault","placeholder","domProps","directives","rawName","model","expression","checked","isArray","_i","change","$set","slice","_q","composing","for","stopPropagation","disabled","menu","_l","toLowerCase","parseInt","Actions","Activities","Choose","Close","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid_plural","iQ","hasStatus","userStatus","status","getCapabilities","user_status","enabled","generateOcsUrl","userId","ocs","response","isMobile","watch","created","handleWindowResize","clientWidth","defaultProtocol","className","attributes","_nc_focus_trap","sources","names","mappings","sourcesContent","sourceRoot","hash","needQuotes","btoa","unescape","encodeURIComponent","JSON","stringify","css","media","sourceMap","supports","layer","references","updater","byIndex","splice","update","remove","querySelector","HTMLIFrameElement","contentDocument","appendChild","createElement","nc","setAttribute","parentNode","removeChild","styleSheet","cssText","firstChild","createTextNode","label","iconUrl","source","primary","avatarUrl","getAvatarUrl","mentionText","generateUrl","contenteditable","style","backgroundImage","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","baseURI","location","U","getBuilder","persist","setItem","ClickOutside","vOnClickOutside","DotsHorizontal","NcLoadingIcon","NcPopover","NcPopoverMenu","mixins","url","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","Element","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","hasMenu","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","initialsWrapperStyle","backgroundColor","initialsStyle","color","tooltip","initials","fromCodePoint","codePointAt","hyperlink","innerHTML","loadAvatarUrl","mounted","fetchUserStatus","handleUserStatusUpdated","unsubscribe","handlePopoverAfterShow","popoverMenu","focus","handlePopoverAfterHide","main","fetchContactsMenu","closeMenu","post","topAction","actions","updateImageIfValid","avatarUrlGenerator","getComputedStyle","body","getPropertyValue","oc_userconfig","avatar","getItem","Image","onload","onerror","srcset","j","P","E","T","_","B","O","D","M","F","tabindex","keydown","_k","keyCode","toggleMenu","alt","placement","container","shown","$slots","description","hasTitle","hasDescription","I","NcAvatar","NcUserBubbleDiv","avatarImage","open","margin","isPopoverComponent","popoverEmpty","isAvatarUrl","isCustomAvatar","hasUrl","isLinkComponent","styles","content","borderRadius","marginLeft","onOpenChange","onClick","tag","trigger","$props","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","Uint8Array","code","start","end","output","isConstructor","tryToString","$TypeError","argument","isCallable","$String","wellKnownSymbol","create","UNSCOPABLES","ArrayPrototype","uncurryThis","IndexedObject","toObject","lengthOfArrayLike","arraySpeciesCreate","createMethod","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","callbackfn","that","specificCreate","result","boundFunction","some","every","find","findIndex","filterReject","aCallable","IS_RIGHT","argumentsLength","memo","left","right","toAbsoluteIndex","createProperty","$Array","fin","isObject","SPECIES","originalArray","arraySpeciesConstructor","fails","getPrototypeOf","done","toPropertyKey","definePropertyModule","createPropertyDescriptor","object","propertyKey","anObject","ordinaryToPrimitive","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","classof","global","NATIVE_BIND","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","getBuiltIn","inspectSource","noop","empty","construct","constructorRegExp","exec","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","sham","called","IteratorPrototype","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","TO_STRING_TAG","$","IS_PURE","FunctionName","createIteratorConstructor","createNonEnumerableProperty","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","keys","proto","forced","PrototypeOfArrayIteratorPrototype","arrayIterator","toIndexedObject","$getOwnPropertyNames","arraySlice","windowNames","getOwnPropertyNames","it","getWindowNames","hasOwn","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","$Object","ObjectPrototype","aPossiblePrototype","setter","CORRECT_SETTER","getOwnPropertyDescriptor","set","__proto__","TAG","STATIC","aConstructor","isNullOrUndefined","defaultConstructor","requireObjectCoercible","whitespaces","whitespace","ltrim","rtrim","string","SymbolPrototype","valueOf","TO_PRIMITIVE","arity","NATIVE_SYMBOL","keyFor","wrappedWellKnownSymbolModule","addToUnscopables","InternalStateModule","defineIterator","createIterResultObject","DESCRIPTORS","ARRAY_ITERATOR","setInternalState","getInternalState","getterFor","iterated","kind","state","Arguments","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","dateToPrimitive","DatePrototype","Date","isSymbol","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","symbol","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","replacer","$replacer","fixIllFormed","offset","prev","stat","space","isForced","inheritIfRequired","isPrototypeOf","thisNumberValue","NUMBER","NativeNumber","NumberPrototype","NumberWrapper","primValue","third","radix","maxCode","digits","NaN","toNumber","toNumeric","getOwnPropertySymbolsModule","getOwnPropertySymbols","$getOwnPropertySymbols","STRING_ITERATOR","point","fixRegExpWellKnownSymbolLogic","isRegExp","speciesConstructor","advanceStringIndex","toLength","getMethod","callRegExpExec","regexpExec","stickyHelpers","UNSUPPORTED_Y","MAX_UINT32","min","$push","stringSlice","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","lim","lastIndex","lastLength","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","splitter","rx","unicodeMatching","q","originalExec","$toString","nativeObjectCreate","objectKeys","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","definePropertiesModule","propertyIsEnumerableModule","shared","hiddenKeys","defineWellKnownSymbol","defineSymbolToPrimitive","$forEach","HIDDEN","SYMBOL","PROTOTYPE","$Symbol","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","WellKnownSymbolsStore","USE_SETTER","findChild","setSymbolDescriptor","Attributes","ObjectPrototypeDescriptor","wrap","$defineProperty","$defineProperties","Properties","properties","$propertyIsEnumerable","V","$getOwnPropertyDescriptor","IS_OBJECT_PROTOTYPE","unsafe","useSetter","useSimple","defineProperties","copyConstructorProperties","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","thisSymbolValue","symbolDescriptiveString","regexp","desc","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","needLayer","modules","dedupe","alreadyImportedModules","cssMapping","base64","sourceMapping","read","buffer","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","Infinity","pow","write","rt","abs","floor","LN2","HASH_UNDEFINED","INFINITY","funcTag","genTag","symbolTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","freeGlobal","freeSelf","root","Function","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","objectToString","reIsNative","Map","getNative","nativeCreate","symbolProto","symbolToString","Hash","clear","entry","ListCache","MapCache","assocIndexOf","array","getMapData","__data__","getValue","pattern","isFunction","isHostObject","func","toSource","baseIsNative","has","pop","stringToPath","memoize","baseToString","number","quote","toKey","resolver","memoized","cache","Cache","isObjectLike","defaultValue","isKey","baseGet","moment","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","hours","minutes","isLower","longDateFormat","LT","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","future","past","ss","mm","hh","dd","MM","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","str","weekdaysParseExact","hour","minute","postformat","symbolMap","preparse","numberMap","suffixes","relativeTimeWithPlural","forms","standalone","isFormat","day","period","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutationTable","substring","softMutation","mutation","lastNumber","monthsParse","monthsRegex","minWeekdaysParse","weekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","ll","lll","llll","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","month","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","now","$0","$1","$2","isUpper","eifelerRegelAppliesToNumber","substr","units","translateSingular","special","relativeTimeWithSingular","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","days","word","numbersNouns","numberNoun","hundred","ten","one","numberAsNoun","time","hm","processHoursFunction","nominative","accusative","genitive","webpackContext","req","webpackContextResolve","__webpack_require__","resolve","hookCallback","hooks","hasOwnProp","isObjectEmpty","isUndefined","isNumber","isDate","arrLen","extend","createUTC","strict","createLocalOrUTC","utc","getParsingFlags","_pf","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","isValid","_isValid","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","fun","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","_isAMomentObject","_f","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","mergeConfigs","parentConfig","childConfig","Locale","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","callback","formatMoment","expandFormat","makeFormatFunction","replaceLongDateFormatTokens","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","date","daysInMonth","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","parseTwoDigitYear","getSetYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","getUTCDay","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","kInput","_isPm","_meridiem","pos","pos1","pos2","getSetHour","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","loadLocale","oldLocale","isLocaleNameSane","_abbr","getSetGlobalLocale","_config","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","weekdayStr","parsedInput","getDay","checkWeekday","obsOffset","militaryOffset","numOffset","calculateOffset","setUTCMinutes","getUTCMinutes","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","temp","weekdayOverflow","curWeek","GG","W","createLocal","_week","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","isPm","meridiemFixWrap","erasConvertYear","prepareConfig","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromStringAndArray","createFromInputFallback","configFromString","dayOrDate","second","millisecond","configFromObject","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","milliseconds","unitHasDecimal","orderLen","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","cloneWithOffset","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","addSubtract","isAdding","invalid","subtract","isString","isMomentInput","arrayTest","dataTypeTest","isNumberOrStringArray","property","objectTest","propertyTest","propertyLen","isMomentInputObject","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","preParsePostFormat","formats","isCalendarSpec","sod","startOf","calendarFormat","asFloat","zoneDelta","endOf","startOfDate","isoWeekday","inputString","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","getPrioritizedUnits","prioritizedLen","toArray","toDate","toISOString","keepOffset","inspect","prefix","suffix","zone","isLocal","toJSON","unix","creationData","eraName","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","field","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","tok","_invalidDate","_ordinal","pastFuture","_eras","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","posNegDuration","relativeTime$1","toIsoString","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","Gettext","catalogs","domain","listeners","eventName","off","listener","emit","eventData","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","textdomain","setlocale","addTextdomain","ach","examples","sample","nplurals","pluralsText","af","ak","am","an","ar","arn","ast","ay","az","be","bg","bn","bo","br","brx","bs","ca","cgg","cs","csb","cy","da","de","doi","dz","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","he","hne","hr","hu","hy","is","ja","jbo","jv","ka","kk","km","kn","ko","ku","kw","ky","lb","ln","lo","lt","lv","mai","mfe","mg","mi","mk","ml","mn","mni","mnk","mr","mt","my","nah","nap","nb","ne","nl","nn","no","nso","oc","or","pa","pap","pl","pms","ps","pt","rm","ro","ru","rw","sah","sat","sco","sd","se","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","te","tg","ti","tk","tr","tt","ug","uk","ur","uz","vi","wa","wo","yo","zh","ieee754","customInspectSymbol","Buffer","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","encodingOrOffset","allocUnsafe","encoding","isEncoding","actual","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","isBuffer","numberIsNaN","fromObject","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","TYPED_ARRAY_SUPPORT","foo","typedArraySupport","poolSize","alloc","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","toLocaleString","equals","thisStart","thisEnd","thisCopy","targetCopy","_arr","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","last","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","getMessage","Base","super","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","received","isInteger","INVALID_BASE64_RE","leadSurrogate","base64clean","dst","alphabet","table","i16","BufferBigIntNotDefined","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","nextTick","browser","argv","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","stylesInDOM","getIndexByIdentifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","addElementStyle","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","styleTarget","getTarget","element","styleElement","nonce","removeStyleElement","thisArg","kindOf","thing","kindOfTest","typeOfTest","isArrayBuffer","isPlainObject","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","findKey","_global","globalThis","isContextDefined","isTypedArray","TypedArray","isHTMLForm","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isFormData","FormData","append","isArrayBufferView","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","position","forEachEntry","pair","matchAll","regExp","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toCamelCase","toFiniteNumber","generateString","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","then","catch","AxiosError","request","captureStackTrace","utils","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","isFlatArray","exposedHelpers","encode","charMap","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","isStandardBrowserEnv","product","navigator","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","DEFAULT_CONTENT_TYPE","transitional","adapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","rawValue","parser","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","line","parseHeaders","tokensRE","parseTokens","delete","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","static","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","expires","secure","cookie","toGMTString","decodeURIComponent","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","userAgent","urlParsingNode","originURL","resolveURL","protocol","host","search","hostname","port","pathname","requestURL","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","samplesCount","timestamps","firstSampleTS","tail","chunkLength","startedAt","bytesCount","passed","loaded","lengthComputable","progressBytes","rate","progress","estimated","event","knownAdapters","http","xhr","XMLHttpRequest","Promise","reject","requestData","requestHeaders","onCanceled","cancelToken","signal","auth","username","password","fullPath","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","settle","err","responseText","statusText","paramsSerializer","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancel","abort","aborted","parseProtocol","send","throwIfCancellationRequested","throwIfRequested","dispatchRequest","adapters","nameOrAdapter","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","opt","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","payload","formToJSON","ProxyBus","bus","getVersion","valid","handler","SimpleBus","Proxy","_eventBus","_nc_event_bus","__assign","__awaiter","_arguments","generator","step","__generator","sent","trys","ops","verb","op","SuppressedError","RETRY_KEY","RETRY_DELAY_KEY","client","requesttoken","cancelableClient","onError$2","retryDelay_1","retryIfMaintenanceMode","onError$1","reloadExpiredSession","reload","bail","toStr","gOPD","isPlainObject$1","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","extend2","copyIsArray","deep","isPlainObject2","stringifyPosition","point$1","point2","column","VFileMessage","place","origin","position2","index2","fatal","ruleId","expected","file","note","assertPath$1","seenNonSlash","firstNonSlashEnd","extIndex","unmatchedSlash","startPart","startDot","preDotState","code2","segments","joined","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","normalizeString","normalize$1","proc","isUrl","fileURLOrPath","order","VFile","messages","history","stored","prop2","getPathFromURLPosix","urlToPath","assertNonEmpty","dirname","dirname2","assertPath","basename","basename2","assertPart","extname","extname2","stem","fail","part","unified","transformers","pipeline","middlewareIndex","middleware","parameters","fnExpectsCallback","wrap$1","middelware","trough","attachers","frozen","namespace","freezeIndex","processor","assertUnfrozen","own$7","Parser","Compiler","attacher","transformer","POSITIVE_INFINITY","settings","addPlugin","addList","addPreset","value2","plugin","options2","plugins","doc","vfile","assertParser","newable","node","assertCompiler","assertNode","compile","tree","runSync","complete","assertDone","file2","processSync","destination","asyncName","looksLikeAVFile","normalizeComponent","scriptExports","render3","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","existing","_vue_richtext_widgets","_registerWidget","onDestroy","_sfc_main$2","compact","hasCustomWidget","richObjectType","noAccess","accessible","descriptionStyle","display","lineClamp","webkitLineClamp","compactLink","link2","openGraphObject","link","startsWith","renderWidget","ResizeObserver","contentRect","observe","disconnect","customWidget","richObject","ReferenceWidget","_vm","thumb","URL_PATTERN","URL_PATTERN_AUTOLINK","_sfc_main$1","referenceData","loading","firstReference","displayedReferences","fetch","ReferenceList","one$1","includeImageAlt","all$1","children","list2","chunkStart","hasOwnProperty$1","syntaxExtension","all2","extension2","constructs","before","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","factorySpace","effects","ok2","enter","consume","exit","content$1","tokenize","contentStart","attempt","contentInitial","lineStart","previous2","previous","document$2","childFlow","childToken","lineStartOffset","continued","containerState","continuation","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","events","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","check","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","lazy","containerContinue","flow","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","seen","nok","disable","null","classifyCharacter","resolveAll","constructs2","attention","attentionMarkers2","attentionMarkers","sequence","after","close","_open","_close","group","text2","openingSequence","closingSequence","nextEvents","sliceSerialize","movePoint","insideSpan","_bufferIndex","autolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","blankLine","partial","blockQuote","_container","characterEscape","element$1","decodeNamedCharacterReference","characterReference2","textContent","characterReference","codeFenced","closingFenceConstruct","effects2","ok3","nok2","sizeOpen","closingSequenceEnd","nonLazyLine","self2","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","meta","contentContinue","codeIndented","afterStartPrefix","afterPrefix","indentedContent","content2","codeText","gap","tailExitIndex","headEnterIndex","subtokenize","jumps","lineIndex","otherIndex","otherEvent","subevents","more","_isInFirstContentOfListItem","subcontent","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","current","adjust","breaks","_gfmTasklistFirstContentOfListItem","start2","contentEnd","continuationConstruct","prefixed","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","atBreak","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","definition","labelAfter","titleConstruct","defined","hardBreakEscape","headingAtx","fenceOpenInside","headingBreak","htmlBlockNames","htmlRawNames","htmlFlow","startTag","declarationStart","tagCloseStart","continuationDeclarationInside","tagName","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","resolveTo","htmlText","returnState","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","declaration","commentStart","commentStartDash","comment","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","destinationAfter","between","afterLabel","labelStartImage","labelStartLink","lineEnding","thematicBreak$1","list$1","initialSize","atMarker","inside","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","setextUnderline","paragraph2","definition2","heading2","flow$1","initial","flowInitial","afterConstruct","createResolver","string$1","initializeFactory","text$3","notText","resolveAllLineSuffixes","extraResolver","chunks","tabs","bufferIndex","chunk","createTokenizer","initialize","columnStart","resolveAllConstructs","accountForPotentialSkip","fields","constructFactory","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","chunkIndex","go","startIndex","startBufferIndex","endIndex","endBufferIndex","view","sliceChunks","restore","onreturn","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","def","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","store","from2","document$1","text$2","defaultConstructs","decodeNumericCharacterReference","base2","characterEscapeOrReference","decode","head2","hex","own$6","fromMarkdown","configure","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreak2","hardBreakTrailing","html2","htmlFlowData","htmlTextData","image","listItem","_spread","listItemValue","getData","setData","listOrdered","listUnordered","paragraph","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","thematicBreak","closer","atxHeadingSequence","depth","onexitdata","characterEscapeValue","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","data2","resume","codeFencedFence","onexithardbreak","referenceType","fragment","labelText","ancestor","string2","decodeString","resource","setextHeadingLineSequence","setextHeadingText","mdastExtensions","tokenStack","listStack","exit2","prepareList","defaultOnError","listItem3","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","create2","and","errorHandler","onExitError","ordered","compiler","postprocess","extensions","combineExtensions","parse$2","atCarriageReturn","endPosition","preprocess","combined","extension","remarkParse","convert$2","ok$1","castFactory","tests","checks2","index3","anyFactory$1","propsFactory","SKIP$2","visit$2","visitor2","factory2","parents","visit2","subresult","grandparents","toResult$1","visitParents$2","find$1","remarkBreaks","own$5","unknown","augment","passThrough","returnNode","unknownHandler","nodes","pointStart","pointEnd","point3","own$4","definitions","definition3","clean","characterReferences","sanitizeUri","encode$1","skip","normalizeUri","colon","questionMark","numberSign","slash","footnoteReference","safeId","footnoteOrder","counter","footnoteCounts","reuseCounter","clobberPrefix","dataFootnoteRef","ariaDescribedBy","encodeCache","exclude","keepEscaped","nextCode","defaultChars","ch","getEncodeCache","componentChars","encode_1","revert","subtype","contents","listItemLoose","trimLine","blockquote","break","footnote","footnoteById","heading","html","dangerous","imageReference","inlineCode","linkReference","listLoose","wrapped","child","rows","align","row","cellIndex","cell","search2","lines","trimLines","toml","ignore","yaml","footnoteDefinition","own$3","toHast","allowDangerousHtml","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","footnoteBackLabel","hName","hProperties","hChildren","ctx","foot","listItems","referenceIndex","backReferences","backReference","dataFootnoteBackref","ariaLabel","tailTail","listItem2","dataFootnotes","footer","remark2rehype","bridge","mutate","Schema","normal","space2","definitions2","booleanish","overloadedBoolean","commaSeparated","spaceSeparated","commaOrSpaceSeparated","mustUseProperty","powers","increment","types","checks","DefinedInfo","mask","mark","own$2","transform","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","caseSensitiveTransform","caseInsensitiveTransform","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","html$1","acceptcharset","classname","htmlfor","httpequiv","accept","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","autoCapitalize","autoComplete","autoFocus","autoPlay","capture","charSet","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dirName","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","loop","manifest","maxLength","minLength","multiple","muted","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforePrint","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","ping","playsInline","poster","preload","readOnly","referrerPolicy","reversed","rowSpan","sandbox","scope","scoped","seamless","selected","shape","sizes","slot","span","spellCheck","srcDoc","srcLang","srcSet","tabIndex","typeMustMatch","useMap","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","charOff","classId","codeBase","codeType","declare","face","frame","frameBorder","hSpace","leftMargin","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","profile","prompt","rev","rightMargin","rules","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","results","security","unselectable","svg$1","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","defaultAction","descent","diffuseConstant","dur","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","fx","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","opacity","operator","orient","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","restart","rotate","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","u1","u2","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","dash","cap","kebab","camelcase","svg","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","styleToObject","declarations","lineno","updatePosition","Position","whitespace2","filename","silent","decl","decls","parse$1","hasIterator","ns","mathml","toReact","own$1","toH","react","_isVue","vue","vd","vdom","hyperscript","parentSchema","addAttribute","Type","rest","dashes","subprop","padRight","padLeft","parseStyle","convert$1","typeFactory","ok","anyFactory","matchesFactory","convertAll","unistUtilVisitParents","visitParents$1","convert","CONTINUE$1","SKIP$1","EXIT$1","one2","toResult","CONTINUE","SKIP","EXIT","unistUtilVisit","visit$1","visitParents","hastCssPropertyMap","valign","hastName","appendStyle","prevStyle","nextStyle","own","tableElements","Set","rehypeReact","component","passNode","tableCellStyle2","Fragment","ABSOLUTE_URL_REGEX","WINDOWS_PATH_REGEX","defaultRel","defaultProtocols","remarkExternalLinks","contentProperties","isAbsoluteUrl","Link","remarkAutolink","autolink2","useMarkdown","parseUrl","flat","linkComponent","textAfter","textBefore","lastChar","remarkPlaceholder","RichText","referenceLimit","markdownCssClasses","ol","ul","li","em","h1","h2","h3","h4","h5","h6","pre","renderPlaintext","prepareTextNode","argumentId","renderMarkdown","renderedMarkdown","toHast2","ActivityModel","rawActivity","activity_id","subject","datetime","_activity","subjectRichTemplate","subject_rich","subjectRichObjects","messageRichTemplate","message_rich","messageRichObjects","objectType","object_type","objectId","object_id","objectName","object_name","dateFromNow","formattedDate","timestamp","isRoot","isSamePath","parentPathIsRoot","parentFolder","website","thumbIsDefined","activity","dateInterval","messageText","messageArguments","mapRichObjectsToRichArguments","subjectText","subjectArguments","applyMonochromeIconColor","updateDateFromNow","setInterval","destroyed","clearInterval","richObjects","richObjectName","mapRichObjectToRichArgument","FileRichArgument","NcUserBubble","EmailRichArgument","SystemTagRichArgument","OpenGraphRichArgument","CalendarEventRichArgument","getLoggerBuilder","setApp","detectUser","Activity","NcEmptyContent","fileInfo","activities","resetState","getActivities","processActivities","_ref","logger","_interopDefaultLegacy","valid__default","major__default","getBus"],"sourceRoot":""} \ No newline at end of file diff --git a/js/activity-475.js b/js/activity-475.js new file mode 100644 index 000000000..2c14915b3 --- /dev/null +++ b/js/activity-475.js @@ -0,0 +1,3 @@ +/*! For license information please see activity-475.js.LICENSE.txt */ +(self.webpackChunkactivity=self.webpackChunkactivity||[]).push([[475],{22200:(e,t,n)=>{"use strict";var a=n(57888),r=void 0,s=[];a.subscribe("csrf-token-update",(function(e){r=e.token,s.forEach((function(t){try{t(e.token)}catch(e){console.error("error updating CSRF token observer",e)}}))}));var o=function(e,t){return e?e.getAttribute(t):null},i=void 0;t.getCurrentUser=function(){if(void 0!==i)return i;var e=null===document||void 0===document?void 0:document.getElementsByTagName("head")[0];if(!e)return null;var t=o(e,"data-user");return i=null===t?null:{uid:t,displayName:o(e,"data-user-displayname"),isAdmin:"undefined"!=typeof OC&&OC.isUserAdmin()}},t.getRequestToken=function(){if(void 0===r){var e=null===document||void 0===document?void 0:document.getElementsByTagName("head")[0];r=e?e.getAttribute("data-requesttoken"):null}return r},t.onRequestTokenUpdate=function(e){s.push(e)}},67737:(e,t,n)=>{const a=n(85503),{MAX_LENGTH:r,MAX_SAFE_INTEGER:s}=n(35519),{safeRe:o,t:i}=n(88238),l=n(74433),{compareIdentifiers:u}=n(63242);class c{constructor(e,t){if(t=l(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>r)throw new TypeError(`version is longer than ${r} characters`);a("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[a]&&(this.prerelease[a]++,a=-2);if(-1===a){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let a=[t,e];!1===n&&(a=[t]),0===u(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=a):this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=c},92426:(e,t,n)=>{const a=n(67737);e.exports=(e,t)=>new a(e,t).major},67488:(e,t,n)=>{const a=n(67737);e.exports=(e,t,n=!1)=>{if(e instanceof a)return e;try{return new a(e,t)}catch(e){if(!n)return null;throw e}}},77907:(e,t,n)=>{const a=n(67488);e.exports=(e,t)=>{const n=a(e,t);return n?n.version:null}},35519:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},85503:(e,t,n)=>{var a=n(34155);const r="object"==typeof a&&a.env&&a.env.NODE_DEBUG&&/\bsemver\b/i.test(a.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=r},63242:e=>{const t=/^[0-9]+$/,n=(e,n)=>{const a=t.test(e),r=t.test(n);return a&&r&&(e=+e,n=+n),e===n?0:a&&!r?-1:r&&!a?1:en(t,e)}},74433:e=>{const t=Object.freeze({loose:!0}),n=Object.freeze({});e.exports=e=>e?"object"!=typeof e?t:e:n},88238:(e,t,n)=>{const{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:r}=n(35519),s=n(85503),o=(t=e.exports={}).re=[],i=t.safeRe=[],l=t.src=[],u=t.t={};let c=0;const d="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",a],[d,r]],p=(e,t,n)=>{const a=(e=>{for(const[t,n]of m)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),r=c++;s(e,r,t),u[e]=r,l[r]=t,o[r]=new RegExp(t,n?"g":void 0),i[r]=new RegExp(a,n?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),p("MAINVERSION",`(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${l[u.NUMERICIDENTIFIER]}|${l[u.NONNUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${l[u.NUMERICIDENTIFIERLOOSE]}|${l[u.NONNUMERICIDENTIFIER]})`),p("PRERELEASE",`(?:-(${l[u.PRERELEASEIDENTIFIER]}(?:\\.${l[u.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${l[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[u.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${d}+`),p("BUILD",`(?:\\+(${l[u.BUILDIDENTIFIER]}(?:\\.${l[u.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${l[u.MAINVERSION]}${l[u.PRERELEASE]}?${l[u.BUILD]}?`),p("FULL",`^${l[u.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${l[u.MAINVERSIONLOOSE]}${l[u.PRERELEASELOOSE]}?${l[u.BUILD]}?`),p("LOOSE",`^${l[u.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${l[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${l[u.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:${l[u.PRERELEASE]})?${l[u.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:${l[u.PRERELEASELOOSE]})?${l[u.BUILD]}?)?)?`),p("XRANGE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAINLOOSE]}$`),p("COERCE",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?(?:$|[^\\d])`),p("COERCERTL",l[u.COERCE],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${l[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",p("TILDE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${l[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",p("CARET",`^${l[u.LONECARET]}${l[u.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${l[u.LONECARET]}${l[u.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${l[u.GTLT]}\\s*(${l[u.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]}|${l[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${l[u.XRANGEPLAIN]})\\s+-\\s+(${l[u.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${l[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[u.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},23955:(e,t,n)=>{"use strict";var a=n(57699);n(79753),n(27856),n(95573);class r{constructor(){this.translations={},this.debug=!1}setLanguage(e){return this.locale=e,this}detectLocale(){return this.setLanguage((document.documentElement.lang||"en").replace("-","_"))}addTranslation(e,t){return this.translations[e]=t,this}enableDebugMode(){return this.debug=!0,this}build(){return new s(this.locale||"en",this.translations,this.debug)}}class s{constructor(e,t,n){this.gt=new a({debug:n,sourceLocale:"en"});for(const e in t)this.gt.addTranslations(e,"messages",t[e]);this.gt.setLocale(e)}subtitudePlaceholders(e,t){return e.replace(/{([^{}]*)}/g,((e,n)=>{const a=t[n];return"string"==typeof a||"number"==typeof a?a.toString():e}))}gettext(e,t={}){return this.subtitudePlaceholders(this.gt.gettext(e),t)}ngettext(e,t,n,a={}){return this.subtitudePlaceholders(this.gt.ngettext(e,t,n).replace(/%n/g,n.toString()),a)}}t.getGettextBuilder=function(){return new r}},71356:(e,t,n)=>{"use strict";n(69070),n(32165),n(66992),n(78783),n(33948),Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleLogger=void 0,t.buildConsoleLogger=function(e){return new i(e)},n(19601),n(96649),n(96078),n(82526),n(41817),n(41539),n(9653);var a=n(20006);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function s(e,t){for(var n=0;n{"use strict";n(69070),n(32165),n(66992),n(78783),n(33948),Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerBuilder=void 0,n(96649),n(96078),n(82526),n(41817),n(41539),n(9653);var a=n(22200),r=n(20006);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function o(e,t){for(var n=0;n{"use strict";n(69070),Object.defineProperty(t,"__esModule",{value:!0}),t.LogLevel=void 0;var a=function(e){return e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Fatal=4]="Fatal",e}({});t.LogLevel=a},17499:(e,t,n)=>{"use strict";n(69070),t.IY=function(){return new r.LoggerBuilder(a.buildConsoleLogger)};var a=n(71356),r=n(55058);n(20006)},80351:(e,t,n)=>{self,e.exports=function(){"use strict";var e={n:function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},d:function(t,n){for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:function(){return c}});var a=n(30381),r=e.n(a),s=n(57699),o=e.n(s),i=n(57953),l=new(o()),u=(0,i.getLocale)();[{locale:"ar",json:{charset:"utf-8",headers:{"Last-Translator":"S1 SYSTEMS | BP , 2020","Language-Team":"Arabic (https://www.transifex.com/nextcloud/teams/64236/ar/)","Content-Type":"text/plain; charset=UTF-8",Language:"ar","Plural-Forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nS1 SYSTEMS | BP , 2020\n"},msgstr:["Last-Translator: S1 SYSTEMS | BP , 2020\nLanguage-Team: Arabic (https://www.transifex.com/nextcloud/teams/64236/ar/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ar\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["ثواني"]}}}}},{locale:"ast",json:{charset:"utf-8",headers:{"Last-Translator":"enolp , 2020","Language-Team":"Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)","Content-Type":"text/plain; charset=UTF-8",Language:"ast","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nenolp , 2020\n"},msgstr:["Last-Translator: enolp , 2020\nLanguage-Team: Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ast\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segundos"]}}}}},{locale:"br",json:{charset:"utf-8",headers:{"Last-Translator":"Kervoas-Le Nabat Ewen , 2020","Language-Team":"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)","Content-Type":"text/plain; charset=UTF-8",Language:"br","Plural-Forms":"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nKervoas-Le Nabat Ewen , 2020\n"},msgstr:["Last-Translator: Kervoas-Le Nabat Ewen , 2020\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: br\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["eilennoù"]}}}}},{locale:"ca",json:{charset:"utf-8",headers:{"Last-Translator":"Marc Riera , 2020","Language-Team":"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)","Content-Type":"text/plain; charset=UTF-8",Language:"ca","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarc Riera , 2020\n"},msgstr:["Last-Translator: Marc Riera , 2020\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ca\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segons"]}}}}},{locale:"cs_CZ",json:{charset:"utf-8",headers:{"Last-Translator":"Pavel Borecki , 2021","Language-Team":"Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)","Content-Type":"text/plain; charset=UTF-8",Language:"cs_CZ","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPavel Borecki , 2021\n"},msgstr:["Last-Translator: Pavel Borecki , 2021\nLanguage-Team: Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: cs_CZ\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekund(y)"]}}}}},{locale:"da",json:{charset:"utf-8",headers:{"Last-Translator":"Henrik Troels-Hansen , 2020","Language-Team":"Danish (https://www.transifex.com/nextcloud/teams/64236/da/)","Content-Type":"text/plain; charset=UTF-8",Language:"da","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nHenrik Troels-Hansen , 2020\n"},msgstr:["Last-Translator: Henrik Troels-Hansen , 2020\nLanguage-Team: Danish (https://www.transifex.com/nextcloud/teams/64236/da/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: da\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekunder"]}}}}},{locale:"de_DE",json:{charset:"utf-8",headers:{"Last-Translator":"Christoph Wurst , 2020","Language-Team":"German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)","Content-Type":"text/plain; charset=UTF-8",Language:"de_DE","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nChristoph Wurst , 2020\n"},msgstr:["Last-Translator: Christoph Wurst , 2020\nLanguage-Team: German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: de_DE\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["Sekunden"]}}}}},{locale:"el",json:{charset:"utf-8",headers:{"Last-Translator":"GRMarksman , 2020","Language-Team":"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)","Content-Type":"text/plain; charset=UTF-8",Language:"el","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nGRMarksman , 2020\n"},msgstr:["Last-Translator: GRMarksman , 2020\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: el\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["δευτερόλεπτα"]}}}}},{locale:"en_GB",json:{charset:"utf-8",headers:{"Last-Translator":"Oleksa Stasevych , 2020","Language-Team":"English (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/en_GB/)","Content-Type":"text/plain; charset=UTF-8",Language:"en_GB","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nOleksa Stasevych , 2020\n"},msgstr:["Last-Translator: Oleksa Stasevych , 2020\nLanguage-Team: English (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/en_GB/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: en_GB\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["seconds"]}}}}},{locale:"eo",json:{charset:"utf-8",headers:{"Last-Translator":"Va Milushnikov , 2020","Language-Team":"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)","Content-Type":"text/plain; charset=UTF-8",Language:"eo","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nVa Milushnikov , 2020\n"},msgstr:["Last-Translator: Va Milushnikov , 2020\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eo\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekundoj"]}}}}},{locale:"es",json:{charset:"utf-8",headers:{"Last-Translator":"Javier San Juan , 2020","Language-Team":"Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)","Content-Type":"text/plain; charset=UTF-8",Language:"es","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nJavier San Juan , 2020\n"},msgstr:["Last-Translator: Javier San Juan , 2020\nLanguage-Team: Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: es\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segundos"]}}}}},{locale:"eu",json:{charset:"utf-8",headers:{"Last-Translator":"Asier Iturralde Sarasola , 2020","Language-Team":"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)","Content-Type":"text/plain; charset=UTF-8",Language:"eu","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nAsier Iturralde Sarasola , 2020\n"},msgstr:["Last-Translator: Asier Iturralde Sarasola , 2020\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: eu\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segundo"]}}}}},{locale:"fa",json:{charset:"utf-8",headers:{"Last-Translator":"Amirreza Kolivand , 2021","Language-Team":"Persian (https://www.transifex.com/nextcloud/teams/64236/fa/)","Content-Type":"text/plain; charset=UTF-8",Language:"fa","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nAmirreza Kolivand , 2021\n"},msgstr:["Last-Translator: Amirreza Kolivand , 2021\nLanguage-Team: Persian (https://www.transifex.com/nextcloud/teams/64236/fa/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fa\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["ثانیه"]}}}}},{locale:"fi_FI",json:{charset:"utf-8",headers:{"Last-Translator":"Robin Lahtinen , 2020","Language-Team":"Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)","Content-Type":"text/plain; charset=UTF-8",Language:"fi_FI","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRobin Lahtinen , 2020\n"},msgstr:["Last-Translator: Robin Lahtinen , 2020\nLanguage-Team: Finnish (Finland) (https://www.transifex.com/nextcloud/teams/64236/fi_FI/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fi_FI\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekuntia"]}}}}},{locale:"fr",json:{charset:"utf-8",headers:{"Last-Translator":"Yoplala , 2020","Language-Team":"French (https://www.transifex.com/nextcloud/teams/64236/fr/)","Content-Type":"text/plain; charset=UTF-8",Language:"fr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nYoplala , 2020\n"},msgstr:["Last-Translator: Yoplala , 2020\nLanguage-Team: French (https://www.transifex.com/nextcloud/teams/64236/fr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: fr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["secondes"]}}}}},{locale:"gl",json:{charset:"utf-8",headers:{"Last-Translator":"Miguel Anxo Bouzada , 2020","Language-Team":"Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)","Content-Type":"text/plain; charset=UTF-8",Language:"gl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nMiguel Anxo Bouzada , 2020\n"},msgstr:["Last-Translator: Miguel Anxo Bouzada , 2020\nLanguage-Team: Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: gl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segundos"]}}}}},{locale:"he",json:{charset:"utf-8",headers:{"Last-Translator":"Yaron Shahrabani , 2020","Language-Team":"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)","Content-Type":"text/plain; charset=UTF-8",Language:"he","Plural-Forms":"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nYaron Shahrabani , 2020\n"},msgstr:["Last-Translator: Yaron Shahrabani , 2020\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: he\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["שניות"]}}}}},{locale:"hu_HU",json:{charset:"utf-8",headers:{"Last-Translator":"Balázs Meskó , 2020","Language-Team":"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)","Content-Type":"text/plain; charset=UTF-8",Language:"hu_HU","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nBalázs Meskó , 2020\n"},msgstr:["Last-Translator: Balázs Meskó , 2020\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: hu_HU\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["másodperc"]}}}}},{locale:"id",json:{charset:"utf-8",headers:{"Last-Translator":"Marcus Pierce, 2021","Language-Team":"Indonesian (https://www.transifex.com/nextcloud/teams/64236/id/)","Content-Type":"text/plain; charset=UTF-8",Language:"id","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMarcus Pierce, 2021\n"},msgstr:["Last-Translator: Marcus Pierce, 2021\nLanguage-Team: Indonesian (https://www.transifex.com/nextcloud/teams/64236/id/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: id\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["detik"]}}}}},{locale:"is",json:{charset:"utf-8",headers:{"Last-Translator":"Sveinn í Felli , 2020","Language-Team":"Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)","Content-Type":"text/plain; charset=UTF-8",Language:"is","Plural-Forms":"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nSveinn í Felli , 2020\n"},msgstr:["Last-Translator: Sveinn í Felli , 2020\nLanguage-Team: Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: is\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekúndur"]}}}}},{locale:"it",json:{charset:"utf-8",headers:{"Last-Translator":"Random_R, 2020","Language-Team":"Italian (https://www.transifex.com/nextcloud/teams/64236/it/)","Content-Type":"text/plain; charset=UTF-8",Language:"it","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nRandom_R, 2020\n"},msgstr:["Last-Translator: Random_R, 2020\nLanguage-Team: Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: it\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["secondi"]}}}}},{locale:"ja_JP",json:{charset:"utf-8",headers:{"Last-Translator":"YANO Tetsu , 2020","Language-Team":"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)","Content-Type":"text/plain; charset=UTF-8",Language:"ja_JP","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nYANO Tetsu , 2020\n"},msgstr:["Last-Translator: YANO Tetsu , 2020\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ja_JP\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["秒"]}}}}},{locale:"ko",json:{charset:"utf-8",headers:{"Last-Translator":"Brandon Han, 2021","Language-Team":"Korean (https://www.transifex.com/nextcloud/teams/64236/ko/)","Content-Type":"text/plain; charset=UTF-8",Language:"ko","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nBrandon Han, 2021\n"},msgstr:["Last-Translator: Brandon Han, 2021\nLanguage-Team: Korean (https://www.transifex.com/nextcloud/teams/64236/ko/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ko\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["초"]}}}}},{locale:"lt_LT",json:{charset:"utf-8",headers:{"Last-Translator":"Moo, 2020","Language-Team":"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)","Content-Type":"text/plain; charset=UTF-8",Language:"lt_LT","Plural-Forms":"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nMoo, 2020\n"},msgstr:["Last-Translator: Moo, 2020\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lt_LT\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sek."]}}}}},{locale:"lv",json:{charset:"utf-8",headers:{"Last-Translator":"stendec , 2020","Language-Team":"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)","Content-Type":"text/plain; charset=UTF-8",Language:"lv","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nstendec , 2020\n"},msgstr:["Last-Translator: stendec , 2020\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: lv\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekundes"]}}}}},{locale:"mk",json:{charset:"utf-8",headers:{"Last-Translator":"Сашко Тодоров, 2020","Language-Team":"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)","Content-Type":"text/plain; charset=UTF-8",Language:"mk","Plural-Forms":"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nСашко Тодоров, 2020\n"},msgstr:["Last-Translator: Сашко Тодоров, 2020\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: mk\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["секунди"]}}}}},{locale:"my",json:{charset:"utf-8",headers:{"Last-Translator":"Htike Aung Kyaw , 2021","Language-Team":"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)","Content-Type":"text/plain; charset=UTF-8",Language:"my","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nHtike Aung Kyaw , 2021\n"},msgstr:["Last-Translator: Htike Aung Kyaw , 2021\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: my\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["စက္ကန့်"]}}}}},{locale:"nb_NO",json:{charset:"utf-8",headers:{"Last-Translator":"Ole Jakob Brustad , 2020","Language-Team":"Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)","Content-Type":"text/plain; charset=UTF-8",Language:"nb_NO","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nOle Jakob Brustad , 2020\n"},msgstr:["Last-Translator: Ole Jakob Brustad , 2020\nLanguage-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/nextcloud/teams/64236/nb_NO/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nb_NO\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekunder"]}}}}},{locale:"nl",json:{charset:"utf-8",headers:{"Last-Translator":"Roeland Jago Douma , 2020","Language-Team":"Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)","Content-Type":"text/plain; charset=UTF-8",Language:"nl","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nRoeland Jago Douma , 2020\n"},msgstr:["Last-Translator: Roeland Jago Douma , 2020\nLanguage-Team: Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: nl\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["seconden"]}}}}},{locale:"oc",json:{charset:"utf-8",headers:{"Last-Translator":"Quentin PAGÈS, 2020","Language-Team":"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)","Content-Type":"text/plain; charset=UTF-8",Language:"oc","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nQuentin PAGÈS, 2020\n"},msgstr:["Last-Translator: Quentin PAGÈS, 2020\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: oc\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segondas"]}}}}},{locale:"pl",json:{charset:"utf-8",headers:{"Last-Translator":"Janusz Gwiazda , 2020","Language-Team":"Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)","Content-Type":"text/plain; charset=UTF-8",Language:"pl","Plural-Forms":"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nJanusz Gwiazda , 2020\n"},msgstr:["Last-Translator: Janusz Gwiazda , 2020\nLanguage-Team: Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pl\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekundy"]}}}}},{locale:"pt_BR",json:{charset:"utf-8",headers:{"Last-Translator":"André Marcelo Alvarenga , 2020","Language-Team":"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_BR","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nAndré Marcelo Alvarenga , 2020\n"},msgstr:["Last-Translator: André Marcelo Alvarenga , 2020\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_BR\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segundos"]}}}}},{locale:"pt_PT",json:{charset:"utf-8",headers:{"Last-Translator":"fpapoila , 2020","Language-Team":"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)","Content-Type":"text/plain; charset=UTF-8",Language:"pt_PT","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nfpapoila , 2020\n"},msgstr:["Last-Translator: fpapoila , 2020\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: pt_PT\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["segundos"]}}}}},{locale:"ru",json:{charset:"utf-8",headers:{"Last-Translator":"Игорь Бондаренко , 2020","Language-Team":"Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)","Content-Type":"text/plain; charset=UTF-8",Language:"ru","Plural-Forms":"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nИгорь Бондаренко , 2020\n"},msgstr:["Last-Translator: Игорь Бондаренко , 2020\nLanguage-Team: Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: ru\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["секунды"]}}}}},{locale:"si",json:{charset:"utf-8",headers:{"Last-Translator":"Hela Basa, 2021","Language-Team":"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)","Content-Type":"text/plain; charset=UTF-8",Language:"si","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nHela Basa, 2021\n"},msgstr:["Last-Translator: Hela Basa, 2021\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: si\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["තත්පර"]}}}}},{locale:"sk_SK",json:{charset:"utf-8",headers:{"Last-Translator":"Anton Kuchár , 2020","Language-Team":"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)","Content-Type":"text/plain; charset=UTF-8",Language:"sk_SK","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nAnton Kuchár , 2020\n"},msgstr:["Last-Translator: Anton Kuchár , 2020\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sk_SK\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekundy"]}}}}},{locale:"sl",json:{charset:"utf-8",headers:{"Last-Translator":"Matej Urbančič <>, 2020","Language-Team":"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)","Content-Type":"text/plain; charset=UTF-8",Language:"sl","Plural-Forms":"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nMatej Urbančič <>, 2020\n"},msgstr:["Last-Translator: Matej Urbančič <>, 2020\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sl\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekunde"]}}}}},{locale:"sq",json:{charset:"utf-8",headers:{"Last-Translator":"Greta, 2020","Language-Team":"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)","Content-Type":"text/plain; charset=UTF-8",Language:"sq","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nGreta, 2020\n"},msgstr:["Last-Translator: Greta, 2020\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sq\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekonda"]}}}}},{locale:"sr",json:{charset:"utf-8",headers:{"Last-Translator":"Slobodan Simić , 2020","Language-Team":"Serbian (https://www.transifex.com/nextcloud/teams/64236/sr/)","Content-Type":"text/plain; charset=UTF-8",Language:"sr","Plural-Forms":"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nSlobodan Simić , 2020\n"},msgstr:["Last-Translator: Slobodan Simić , 2020\nLanguage-Team: Serbian (https://www.transifex.com/nextcloud/teams/64236/sr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sr\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["секунде"]}}}}},{locale:"sv",json:{charset:"utf-8",headers:{"Last-Translator":"Magnus Höglund, 2020","Language-Team":"Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)","Content-Type":"text/plain; charset=UTF-8",Language:"sv","Plural-Forms":"nplurals=2; plural=(n != 1);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nMagnus Höglund, 2020\n"},msgstr:["Last-Translator: Magnus Höglund, 2020\nLanguage-Team: Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: sv\nPlural-Forms: nplurals=2; plural=(n != 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["sekunder"]}}}}},{locale:"th_TH",json:{charset:"utf-8",headers:{"Last-Translator":"Phongpanot Phairat , 2021","Language-Team":"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)","Content-Type":"text/plain; charset=UTF-8",Language:"th_TH","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nPhongpanot Phairat , 2021\n"},msgstr:["Last-Translator: Phongpanot Phairat , 2021\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: th_TH\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["วินาที"]}}}}},{locale:"tr",json:{charset:"utf-8",headers:{"Last-Translator":"Hüseyin Fahri Uzun , 2020","Language-Team":"Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)","Content-Type":"text/plain; charset=UTF-8",Language:"tr","Plural-Forms":"nplurals=2; plural=(n > 1);"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nHüseyin Fahri Uzun , 2020\n"},msgstr:["Last-Translator: Hüseyin Fahri Uzun , 2020\nLanguage-Team: Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: tr\nPlural-Forms: nplurals=2; plural=(n > 1);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["saniye"]}}}}},{locale:"uk",json:{charset:"utf-8",headers:{"Last-Translator":"Oleksa Stasevych , 2020","Language-Team":"Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)","Content-Type":"text/plain; charset=UTF-8",Language:"uk","Plural-Forms":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nOleksa Stasevych , 2020\n"},msgstr:["Last-Translator: Oleksa Stasevych , 2020\nLanguage-Team: Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: uk\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["секунд"]}}}}},{locale:"vi",json:{charset:"utf-8",headers:{"Last-Translator":"Luu Thang , 2021","Language-Team":"Vietnamese (https://www.transifex.com/nextcloud/teams/64236/vi/)","Content-Type":"text/plain; charset=UTF-8",Language:"vi","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nLuu Thang , 2021\n"},msgstr:["Last-Translator: Luu Thang , 2021\nLanguage-Team: Vietnamese (https://www.transifex.com/nextcloud/teams/64236/vi/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: vi\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["giây"]}}}}},{locale:"zh_CN",json:{charset:"utf-8",headers:{"Last-Translator":"Jay Guo , 2020","Language-Team":"Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_CN","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nJay Guo , 2020\n"},msgstr:["Last-Translator: Jay Guo , 2020\nLanguage-Team: Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_CN\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["秒"]}}}}},{locale:"zh_HK",json:{charset:"utf-8",headers:{"Last-Translator":"Cha Wong , 2021","Language-Team":"Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_HK","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"\nTranslators:\nCha Wong , 2021\n"},msgstr:["Last-Translator: Cha Wong , 2021\nLanguage-Team: Chinese (Hong Kong) (https://www.transifex.com/nextcloud/teams/64236/zh_HK/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_HK\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["秒"]}}}}},{locale:"zh_TW",json:{charset:"utf-8",headers:{"Last-Translator":"Jim Tsai , 2020","Language-Team":"Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)","Content-Type":"text/plain; charset=UTF-8",Language:"zh_TW","Plural-Forms":"nplurals=1; plural=0;"},translations:{"":{"":{msgid:"",comments:{translator:"Translators:\nJim Tsai , 2020\n"},msgstr:["Last-Translator: Jim Tsai , 2020\nLanguage-Team: Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\nContent-Type: text/plain; charset=UTF-8\nLanguage: zh_TW\nPlural-Forms: nplurals=1; plural=0;\n"]},seconds:{msgid:"seconds",comments:{reference:"lib/index.ts:22"},msgstr:["秒"]}}}}}].map((function(e){l.addTranslations(e.locale,"messages",e.json)})),l.setLocale(u),r().locale(u),r().updateLocale(r().locale(),{parentLocale:r().locale(),relativeTime:Object.assign(r().localeData(r().locale())._relativeTime,{s:l.gettext("seconds")})});var c=r();return t}()},57953:(e,t,n)=>{"use strict";function a(){return document.documentElement.dataset.locale||"en"}n(69070),Object.defineProperty(t,"__esModule",{value:!0}),t.getCanonicalLocale=function(){return a().replace(/_/g,"-")},t.getDayNames=function(){return void 0===window.dayNames?(console.warn("No dayNames found"),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]):window.dayNames},t.getDayNamesMin=function(){return void 0===window.dayNamesMin?(console.warn("No dayNamesMin found"),["Su","Mo","Tu","We","Th","Fr","Sa"]):window.dayNamesMin},t.getDayNamesShort=function(){return void 0===window.dayNamesShort?(console.warn("No dayNamesShort found"),["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."]):window.dayNamesShort},t.getFirstDay=function(){return void 0===window.firstDay?(console.warn("No firstDay found"),1):window.firstDay},t.getLanguage=function(){return document.documentElement.lang||"en"},t.getLocale=a,t.getMonthNames=function(){return void 0===window.monthNames?(console.warn("No monthNames found"),["January","February","March","April","May","June","July","August","September","October","November","December"]):window.monthNames},t.getMonthNamesShort=function(){return void 0===window.monthNamesShort?(console.warn("No monthNamesShort found"),["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."]):window.monthNamesShort},t.translate=function(e,t,n,a,r){return"undefined"==typeof OC?(console.warn("No OC found"),t):OC.L10N.translate(e,t,n,a,r)},t.translatePlural=function(e,t,n,a,r,s){return"undefined"==typeof OC?(console.warn("No OC found"),t):OC.L10N.translatePlural(e,t,n,a,r,s)},n(74916),n(15306)},65358:(e,t,n)=>{"use strict";function a(){for(var e=arguments.length,t=new Array(e),n=0;n0}));if(a.length<1)return"";var r=a[a.length-1],s="/"===a[0].charAt(0),o="/"===r.charAt(r.length-1),i=a.reduce((function(e,t){return e.concat(t.split("/"))}),[]),l=!s,u=i.reduce((function(e,t){return""===t?e:l?(l=!1,e+t):e+"/"+t}),"");return o?u+"/":u}t.XX=function(e){return e.replace(/\\/g,"/").replace(/\/[^\/]*$/,"")},t.Mg=function(e,t){var n=(e||"").split("/").filter((function(e){return"."!==e})),r=(t||"").split("/").filter((function(e){return"."!==e}));return(e=a.apply(void 0,n))===(t=a.apply(void 0,r))},n(21249),n(74916),n(23123),n(15306),n(57327),n(85827),n(92222)},45400:(e,t,n)=>{var a;self,a=()=>(()=>{var e={723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var a=n(2734),r=n.n(a);const s={before(){this.$slots.default&&""!==this.text.trim()||(r().util.warn("".concat(this.$options.name," cannot be empty and requires a meaningful text content"),this),this.$destroy(),this.$el.remove())},beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?this.$slots.default[0].text.trim():""}}}},1139:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a={mixins:[n(723).Z],props:{icon:{type:String,default:""},name:{type:String,default:null},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},ariaHidden:{type:Boolean,default:null}},emits:["click"],computed:{nameTitleFallback(){return null===this.name&&this.title?(console.warn("The `title` prop was renamed. Please use the `name` prop instead if you intend to set the main content text."),this.title):this.name},isIconUrl(){try{return new URL(this.icon)}catch(e){return!1}}},methods:{onClick(e){if(this.$emit("click",e),this.closeAfterClick){const e=function(e,t){let n=e.$parent;for(;n;){if("NcActions"===n.$options.name)return n;n=n.$parent}}(this);e&&e.closeMenu&&e.closeMenu(!1)}}}}},3100:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon[data-v-1418d792]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-1418d792]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-1418d792]{pointer-events:none;opacity:.5}.action--disabled[data-v-1418d792]:hover,.action--disabled[data-v-1418d792]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-1418d792]{opacity:1 !important}.action-button[data-v-1418d792]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button>span[data-v-1418d792]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-1418d792]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-1418d792] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-1418d792] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-1418d792]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-1418d792]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-1418d792]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CAOF,gCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,qCACC,cAAA,CACA,kBAAA,CAGD,sCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,sDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,iFACC,qBAAA,CAKF,kCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,0CACC,cAAA,CAEA,oBAAA,CAGD,uCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA",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","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const i=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",a=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),a&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),a&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,a,r,s){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(a)for(var i=0;i0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=s),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),r&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=r):c[4]="".concat(r)),t.push(c))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),s="/*# ".concat(r," */");return[t].concat([s]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,a=0;a{"use strict";var t={};e.exports=function(e,n){var a=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(e){n=null}t[e]=n}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var a="";n.supports&&(a+="@supports (".concat(n.supports,") {")),n.media&&(a+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(a+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),a+=n.css,r&&(a+="}"),n.media&&(a+="}"),n.supports&&(a+="}");var s=n.sourceMap;s&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4216:()=>{},1900:(e,t,n)=>{"use strict";function a(e,t,n,a,r,s,o,i){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),a&&(u.functional=!0),s&&(u._scopeId="data-v-"+s),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):r&&(l=i?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:u}}n.d(t,{Z:()=>a})},2734:e=>{"use strict";e.exports=n(20144)}},t={};function a(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={id:n,exports:{}};return e[n](s,s.exports,a),s.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nc=void 0;var r={};return(()=>{"use strict";a.r(r),a.d(r,{default:()=>A});const e={name:"NcActionButton",mixins:[a(1139).Z],props:{disabled:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},computed:{isFocusable(){return!this.disabled}}};var t=a(3379),n=a.n(t),s=a(7795),o=a.n(s),i=a(569),l=a.n(i),u=a(3565),c=a.n(u),d=a(9216),m=a.n(d),p=a(4589),h=a.n(p),g=a(3100),f={};f.styleTagTransform=h(),f.setAttributes=c(),f.insert=l().bind(null,"head"),f.domAPI=o(),f.insertStyleElement=m(),n()(g.Z,f),g.Z&&g.Z.locals&&g.Z.locals;var _=a(1900),v=a(4216),y=a.n(v),b=(0,_.Z)(e,(function(){var e=this,t=e._self._c;return t("li",{staticClass:"action",class:{"action--disabled":e.disabled},attrs:{role:"presentation"}},[t("button",{staticClass:"action-button",class:{focusable:e.isFocusable},attrs:{"aria-label":e.ariaLabel,title:e.title,role:"menuitem",type:"button"},on:{click:e.onClick}},[e._t("icon",(function(){return[t("span",{staticClass:"action-button__icon",class:[e.isIconUrl?"action-button__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?"url(".concat(e.icon,")"):null},attrs:{"aria-hidden":e.ariaHidden}})]})),e._v(" "),e.nameTitleFallback?t("p",[t("strong",{staticClass:"action-button__title"},[e._v("\n\t\t\t\t"+e._s(e.nameTitleFallback)+"\n\t\t\t")]),e._v(" "),t("br"),e._v(" "),t("span",{staticClass:"action-button__longtext",domProps:{textContent:e._s(e.text)}})]):e.isLongText?t("p",{staticClass:"action-button__longtext",domProps:{textContent:e._s(e.text)}}):t("span",{staticClass:"action-button__text"},[e._v(e._s(e.text))]),e._v(" "),e._e()],2)])}),[],!1,null,"1418d792",null);"function"==typeof y()&&y()(b);const A=b.exports})(),r})(),e.exports=a()},875:e=>{!function(t,n){e.exports=n()}(self,(()=>(()=>{"use strict";var e={1474:(e,t,n)=>{n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon[data-v-a1812d84]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-separator[data-v-a1812d84]{height:0;margin:5px 10px 5px 15px;border-bottom:1px solid var(--color-border-dark);cursor:default}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActionSeparator/NcActionSeparator.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,QAAA,CACA,wBAAA,CACA,gDAAA,CACA,cAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.action-separator {\n\theight: 0;\n\tmargin: 5px 10px 5px 15px;\n\tborder-bottom: 1px solid var(--color-border-dark);\n\tcursor: default;\n}\n"],sourceRoot:""}]);const i=o},3645:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",a=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),a&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),a&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,a,r,s){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(a)for(var i=0;i0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=s),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),r&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=r):c[4]="".concat(r)),t.push(c))}},t}},7537:e=>{e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),s="/*# ".concat(r," */");return[t].concat([s]).join("\n")}return[t].join("\n")}},3379:e=>{var t=[];function n(e){for(var n=-1,a=0;a{var t={};e.exports=function(e,n){var a=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(e){n=null}t[e]=n}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(n)}},9216:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var a="";n.supports&&(a+="@supports (".concat(n.supports,") {")),n.media&&(a+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(a+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),a+=n.css,r&&(a+="}"),n.media&&(a+="}"),n.supports&&(a+="}");var s=n.sourceMap;s&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},1900:(e,t,n)=>{function a(e,t,n,a,r,s,o,i){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),a&&(u.functional=!0),s&&(u._scopeId="data-v-"+s),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):r&&(l=i?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:u}}n.d(t,{Z:()=>a})}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var s=t[a]={id:a,exports:{}};return e[a](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var a={};return(()=>{n.r(a),n.d(a,{default:()=>f});var e=n(3379),t=n.n(e),r=n(7795),s=n.n(r),o=n(569),i=n.n(o),l=n(3565),u=n.n(l),c=n(9216),d=n.n(c),m=n(4589),p=n.n(m),h=n(1474),g={};g.styleTagTransform=p(),g.setAttributes=u(),g.insert=i().bind(null,"head"),g.domAPI=s(),g.insertStyleElement=d(),t()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;const f=(0,n(1900).Z)({name:"NcActionSeparator"},(function(){return(0,this._self._c)("li",{staticClass:"action action-separator action--disabled"})}),[],!1,null,"a1812d84",null).exports})(),a})()))},12945:(e,t,n)=>{!function(t,n){e.exports=n()}(self,(()=>(()=>{var e={1560:(e,t,n)=>{"use strict";n.d(t,{default:()=>k});const a={name:"NcButton",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:e=>-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(e),default:"secondary"},nativeType:{type:String,validator:e=>-1!==["submit","reset","button"].indexOf(e),default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},download:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render(e){var t,n,a,r,s,o=this;const i=null===(t=this.$slots.default)||void 0===t||null===(n=t[0])||void 0===n||null===(a=n.text)||void 0===a||null===(r=a.trim)||void 0===r?void 0:r.call(a),l=!!i,u=null===(s=this.$slots)||void 0===s?void 0:s.icon;i||this.ariaLabel||console.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:i,ariaLabel:this.ariaLabel},this);const c=function(){let{navigate:t,isActive:n,isExactActive:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(o.to||!o.href?"button":"a",{class:["button-vue",{"button-vue--icon-only":u&&!l,"button-vue--text-only":l&&!u,"button-vue--icon-and-text":u&&l,["button-vue--vue-".concat(o.type)]:o.type,"button-vue--wide":o.wide,active:n,"router-link-exact-active":a}],attrs:{"aria-label":o.ariaLabel,disabled:o.disabled,type:o.href?null:o.nativeType,role:o.href?"button":null,href:!o.to&&o.href?o.href:null,target:!o.to&&o.href?"_self":null,rel:!o.to&&o.href?"nofollow noreferrer noopener":null,download:!o.to&&o.href&&o.download?o.download:null,...o.$attrs},on:{...o.$listeners,click:e=>{var n,a;null===(n=o.$listeners)||void 0===n||null===(a=n.click)||void 0===a||a.call(n,e),null==t||t(e)}}},[e("span",{class:"button-vue__wrapper"},[u?e("span",{class:"button-vue__icon",attrs:{"aria-hidden":o.ariaHidden}},[o.$slots.icon]):null,l?e("span",{class:"button-vue__text"},[i]):null])])};return this.to?e("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:c}}):c()}};var r=n(3379),s=n.n(r),o=n(7795),i=n.n(o),l=n(569),u=n.n(l),c=n(3565),d=n.n(c),m=n(9216),p=n.n(m),h=n(4589),g=n.n(h),f=n(4466),_={};_.styleTagTransform=g(),_.setAttributes=d(),_.insert=u().bind(null,"head"),_.domAPI=i(),_.insertStyleElement=p(),s()(f.Z,_),f.Z&&f.Z.locals&&f.Z.locals;var v=n(1900),y=n(2102),b=n.n(y),A=(0,v.Z)(a,void 0,void 0,!1,null,"4c8c7bff",null);"function"==typeof b()&&b()(A);const k=A.exports},2297:(e,t,n)=>{"use strict";n.d(t,{default:()=>L});var a=n(9454),r=n(4505),s=n(1206);const o={name:"NcPopover",components:{Dropdown:a.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["after-show","after-hide"],beforeDestroy(){this.clearFocusTrap()},methods:{async useFocusTrap(){var e,t;if(await this.$nextTick(),!this.focusTrap)return;const n=null===(e=this.$refs.popover)||void 0===e||null===(t=e.$refs.popperContent)||void 0===t?void 0:t.$el;n&&(this.$focusTrap=(0,r.createFocusTrap)(n,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:this.setReturnFocus,trapStack:(0,s.L)()}),this.$focusTrap.activate())},clearFocusTrap(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){console.warn(e)}},afterShow(){this.$nextTick((()=>{this.$emit("after-show"),this.useFocusTrap()}))},afterHide(){this.$emit("after-hide"),this.clearFocusTrap()}}},i=o;var l=n(3379),u=n.n(l),c=n(7795),d=n.n(c),m=n(569),p=n.n(m),h=n(3565),g=n.n(h),f=n(9216),_=n.n(f),v=n(4589),y=n.n(v),b=n(1625),A={};A.styleTagTransform=y(),A.setAttributes=g(),A.insert=p().bind(null,"head"),A.domAPI=d(),A.insertStyleElement=_(),u()(b.Z,A),b.Z&&b.Z.locals&&b.Z.locals;var k=n(1900),C=n(2405),w=n.n(C),x=(0,k.Z)(i,(function(){var e=this;return(0,e._self._c)("Dropdown",e._g(e._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":e.popoverBaseClass},on:{"apply-show":e.afterShow,"apply-hide":e.afterHide},scopedSlots:e._u([{key:"popper",fn:function(){return[e._t("default")]},proxy:!0}],null,!0)},"Dropdown",e.$attrs,!1),e.$listeners),[e._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof w()&&w()(x);const L=x.exports},932:(e,t,n)=>{"use strict";n.d(t,{t:()=>s});const a=(0,n(7931).getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Anything shared with the same group of people will show up here":"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات","Change title":"تغيير العنوان",Choose:"إختيار","Clear text":"مسح النص",Close:"أغلق","Close modal":"قفل الشرط","Close navigation":"إغلاق المتصفح","Close sidebar":"قفل الشريط الجانبي","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","Error getting related resources":"خطأ في تحصيل مصادر ذات صلة","External documentation for {title}":"الوثائق الخارجية لـ{title}",Favorite:"مفضلة",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Hide password":"إخفاء كلمة السر","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف","More items …":"عناصر أخرى ...",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء",Open:"فتح",'Open link to "{resourceTitle}"':'فتح رابط إلى "{resourceTitle}"',"Open navigation":"فتح المتصفح","Password is secure":"كلمة السر مُؤمّنة","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق","Related resources":"مصادر ذات صلة",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Show password":"أعرض كلمة السر","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Anything shared with the same group of people will show up here":"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancel·la els canvis","Change title":"Canviar títol",Choose:"Tria","Clear text":"Netejar text",Close:"Tanca","Close modal":"Tancar el mode","Close navigation":"Tanca la navegació","Close sidebar":"Tancar la barra lateral","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","Edit item":"Edita l'element","Error getting related resources":"Error obtenint els recursos relacionats","Error parsing svg":"Error en l'anàlisi del svg","External documentation for {title}":"Documentació externa per a {title}",Favorite:"Preferit",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment",Global:"Global","Go back to the list":"Torna a la llista","Hide password":"Amagar contrasenya","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge","More items …":"Més artícles...",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes",Open:"Obrir",'Open link to "{resourceTitle}"':'Obrir enllaç a "{resourceTitle}"',"Open navigation":"Obre la navegació","Password is secure":"Contrasenya segura
    ","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji","Please select a time zone:":"Seleccioneu una zona horària:",Previous:"Anterior","Related resources":"Recursos relacionats",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Seleccioneu una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Show password":"Mostrar contrasenya","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Type to search time zone":"Escriviu per cercar la zona horària","Unable to search the group":"No es pot cercar el grup","Undo changes":"Desfés els canvis",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escriu missatge, fes servir "@" per esmentar algú, fes servir ":" per autocompletar emojis...'}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Anything shared with the same group of people will show up here":"Cokoli nasdíleného stejné skupině lidí se zobrazí zde","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny","Change title":"Změnit nadpis",Choose:"Zvolit","Clear text":"Čitelný text",Close:"Zavřít","Close modal":"Zavřít dialogové okno","Close navigation":"Zavřít navigaci","Close sidebar":"Zavřít postranní panel","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","Error getting related resources":"Chyba při získávání souvisejících prostředků","Error parsing svg":"Chyba při zpracovávání svg","External documentation for {title}":"Externí dokumentace k {title}",Favorite:"Oblíbené",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Hide password":"Skrýt heslo","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy","More items …":"Další položky…",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty",Open:"Otevřít",'Open link to "{resourceTitle}"':"Otevřít odkaz na „{resourceTitle}“","Open navigation":"Otevřít navigaci","Password is secure":"Heslo je bezpečné","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí","Related resources":"Související prostředky",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Show password":"Zobrazit heslo","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur","Anything shared with the same group of people will show up here":"Alt der deles med samme gruppe af personer vil vises her","Avatar of {displayName}":"Avatar af {displayName}","Avatar of {displayName}, {status}":"Avatar af {displayName}, {status}","Cancel changes":"Annuller ændringer","Change title":"Ret titel",Choose:"Vælg","Clear text":"Ryd tekst",Close:"Luk","Close modal":"Luk vindue","Close navigation":"Luk navigation","Close sidebar":"Luk sidepanel","Confirm changes":"Bekræft ændringer",Custom:"Brugerdefineret","Edit item":"Rediger emne","Error getting related resources":"Kunne ikke hente tilknyttede data","Error parsing svg":"Fejl ved analysering af svg","External documentation for {title}":"Ekstern dokumentation for {title}",Favorite:"Favorit",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt",Global:"Global","Go back to the list":"Tilbage til listen","Hide password":"Skjul kodeord","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået","More items …":"Mere ...",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter",Open:"Åbn",'Open link to "{resourceTitle}"':'Åbn link til "{resourceTitle}"',"Open navigation":"Åbn navigation","Password is secure":"Kodeordet er sikkert","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji","Please select a time zone:":"Vælg venligst en tidszone:",Previous:"Forrige","Related resources":"Relaterede emner",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Show password":"Vis kodeord","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Type to search time zone":"Indtast for at søge efter tidszone","Unable to search the group":"Kan ikke søge på denne gruppe","Undo changes":"Fortryd ændringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv besked, brug "@" for at nævne nogen, brug ":" til emoji-autofuldførelse ...'}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Anything shared with the same group of people will show up here":"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ","Avatar of {displayName}":"Άβαταρ του {displayName}","Avatar of {displayName}, {status}":"Άβαταρ του {displayName}, {status}","Cancel changes":"Ακύρωση αλλαγών","Change title":"Αλλαγή τίτλου",Choose:"Επιλογή","Clear text":"Εκκαθάριση κειμένου",Close:"Κλείσιμο","Close modal":"Βοηθητικό κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Close sidebar":"Κλείσιμο πλευρικής μπάρας","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","Error getting related resources":"Σφάλμα λήψης σχετικών πόρων","Error parsing svg":"Σφάλμα ανάλυσης svg","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Favorite:"Αγαπημένα",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Hide password":"Απόκρυψη κωδικού πρόσβασης","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος","More items …":"Περισσότερα στοιχεία …",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα",Open:"Άνοιγμα",'Open link to "{resourceTitle}"':'Άνοιγμα συνδέσμου στο "{resourceTitle}"',"Open navigation":"Άνοιγμα πλοήγησης","Password is secure":"Ο κωδικός πρόσβασης είναι ασφαλής","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο","Related resources":"Σχετικοί πόροι",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Show password":"Εμφάνιση κωδικού πρόσβασης","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε "@" για να αναφέρετε κάποιον, χρησιμοποιείστε ":" για αυτόματη συμπλήρωση emoji …'}},{locale:"en_GB",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Actions",Activities:"Activities","Animals & Nature":"Animals & Nature","Anything shared with the same group of people will show up here":"Anything shared with the same group of people will show up here","Avatar of {displayName}":"Avatar of {displayName}","Avatar of {displayName}, {status}":"Avatar of {displayName}, {status}","Cancel changes":"Cancel changes","Change title":"Change title",Choose:"Choose","Clear text":"Clear text",Close:"Close","Close modal":"Close modal","Close navigation":"Close navigation","Close sidebar":"Close sidebar","Confirm changes":"Confirm changes",Custom:"Custom","Edit item":"Edit item","Error getting related resources":"Error getting related resources","Error parsing svg":"Error parsing svg","External documentation for {title}":"External documentation for {title}",Favorite:"Favourite",Flags:"Flags","Food & Drink":"Food & Drink","Frequently used":"Frequently used",Global:"Global","Go back to the list":"Go back to the list","Hide password":"Hide password","Message limit of {count} characters reached":"Message limit of {count} characters reached","More items …":"More items …",Next:"Next","No emoji found":"No emoji found","No results":"No results",Objects:"Objects",Open:"Open",'Open link to "{resourceTitle}"':'Open link to "{resourceTitle}"',"Open navigation":"Open navigation","Password is secure":"Password is secure","Pause slideshow":"Pause slideshow","People & Body":"People & Body","Pick an emoji":"Pick an emoji","Please select a time zone:":"Please select a time zone:",Previous:"Previous","Related resources":"Related resources",Search:"Search","Search results":"Search results","Select a tag":"Select a tag",Settings:"Settings","Settings navigation":"Settings navigation","Show password":"Show password","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start slideshow",Submit:"Submit",Symbols:"Symbols","Travel & Places":"Travel & Places","Type to search time zone":"Type to search time zone","Unable to search the group":"Unable to search the group","Undo changes":"Undo changes",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Write message, use "@" to mention someone, use ":" for emoji autocompletion …'}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Anything shared with the same group of people will show up here":"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios","Change title":"Cambiar título",Choose:"Elegir","Clear text":"Limpiar texto",Close:"Cerrar","Close modal":"Cerrar modal","Close navigation":"Cerrar navegación","Close sidebar":"Cerrar barra lateral","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","Error getting related resources":"Se encontró un error al obtener los recursos relacionados","Error parsing svg":"Error procesando svg","External documentation for {title}":"Documentacion externa de {title}",Favorite:"Favorito",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Hide password":"Ocultar contraseña","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres","More items …":"Más ítems...",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos",Open:"Abrir",'Open link to "{resourceTitle}"':'Abrir enlace a "{resourceTitle}"',"Open navigation":"Abrir navegación","Password is secure":"La contraseña es segura","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Show password":"Mostrar contraseña","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escribir mensaje, utilice "@" para mencionar a alguien, utilice ":" para autocompletado de emojis ...'}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Anything shared with the same group of people will show up here":"Pertsona-talde berarekin partekatutako edozer agertuko da hemen","Avatar of {displayName}":"{displayName}-(e)n irudia","Avatar of {displayName}, {status}":"{displayName} -(e)n irudia, {status}","Cancel changes":"Ezeztatu aldaketak","Change title":"Aldatu titulua",Choose:"Aukeratu","Clear text":"Garbitu testua",Close:"Itxi","Close modal":"Itxi modala","Close navigation":"Itxi nabigazioa","Close sidebar":"Itxi albo-barra","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","Edit item":"Editatu elementua","Error getting related resources":"Errorea erlazionatutako baliabideak lortzerakoan","Error parsing svg":"Errore bat gertatu da svg-a analizatzean","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Favorite:"Gogokoa",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Hide password":"Ezkutatu pasahitza","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara","More items …":"Elementu gehiago …",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak",Open:"Ireki",'Open link to "{resourceTitle}"':'Ireki esteka: "{resourceTitle}"',"Open navigation":"Ireki nabigazioa","Password is secure":"Pasahitza segurua da","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Hautatu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa","Related resources":"Erlazionatutako baliabideak",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Show password":"Erakutsi pasahitza","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Undo changes":"Aldaketak desegin",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Idatzi mezua, erabili "@" norbait aipatzeko, erabili ":" emojiak automatikoki osatzeko...'}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone, : for emoji autocompletion …":"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…"}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Anything shared with the same group of people will show up here":"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications","Change title":"Modifier le titre",Choose:"Choisir","Clear text":"Effacer le texte",Close:"Fermer","Close modal":"Fermer la fenêtre","Close navigation":"Fermer la navigation","Close sidebar":"Fermer la barre latérale","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","Error getting related resources":"Erreur à la récupération des ressources liées","Error parsing svg":"Erreur d'analyse SVG","External documentation for {title}":"Documentation externe pour {title}",Favorite:"Favori",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Hide password":"Cacher le mot de passe","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte","More items …":"Plus d'éléments...",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets",Open:"Ouvrir",'Open link to "{resourceTitle}"':'Ouvrir le lien vers "{resourceTitle}"',"Open navigation":"Ouvrir la navigation","Password is secure":"Le mot de passe est sécurisé","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent","Related resources":"Ressources liées",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Show password":"Afficher le mot de passe","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Écrire un message, utiliser "@" pour mentionner une personne, ":" pour l\'autocomplétion des émojis...'}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Anything shared with the same group of people will show up here":"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni","Avatar of {displayName}":"{displayName} profilképe","Avatar of {displayName}, {status}":"{displayName} profilképe, {status}","Cancel changes":"Változtatások elvetése","Change title":"Cím megváltoztatása",Choose:"Válassszon","Clear text":"Szöveg törlése",Close:"Bezárás","Close modal":"Ablak bezárása","Close navigation":"Navigáció bezárása","Close sidebar":"Oldalsáv bezárása","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","Edit item":"Elem szerkesztése","Error getting related resources":"Hiba a kapcsolódó erőforrások lekérésekor","Error parsing svg":"Hiba az SVG feldolgozásakor","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Favorite:"Kedvenc",Flags:"Zászlók","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Go back to the list":"Ugrás vissza a listához","Hide password":"Jelszó elrejtése","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve","More items …":"További elemek...",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak",Open:"Megnyitás",'Open link to "{resourceTitle}"':"A(z) „{resourceTitle}” hivatkozásának megnyitása","Open navigation":"Navigáció megnyitása","Password is secure":"A jelszó biztonságos","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző","Related resources":"Kapcsolódó erőforrások",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Show password":"Jelszó megjelenítése","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Undo changes":"Változtatások visszavonása",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Anything shared with the same group of people will show up here":"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui","Avatar of {displayName}":"Avatar di {displayName}","Avatar of {displayName}, {status}":"Avatar di {displayName}, {status}","Cancel changes":"Annulla modifiche","Change title":"Modifica il titolo",Choose:"Scegli","Clear text":"Cancella il testo",Close:"Chiudi","Close modal":"Chiudi il messaggio modale","Close navigation":"Chiudi la navigazione","Close sidebar":"Chiudi la barra laterale","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","Edit item":"Modifica l'elemento","Error getting related resources":"Errore nell'ottenere risorse correlate","Error parsing svg":"Errore nell'analizzare l'svg","External documentation for {title}":"Documentazione esterna per {title}",Favorite:"Preferito",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente",Global:"Globale","Go back to the list":"Torna all'elenco","Hide password":"Nascondi la password","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto","More items …":"Più elementi ...",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti",Open:"Apri",'Open link to "{resourceTitle}"':'Apri il link a "{resourceTitle}"',"Open navigation":"Apri la navigazione","Password is secure":"La password è sicura","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji","Please select a time zone:":"Si prega di selezionare un fuso orario:",Previous:"Precedente","Related resources":"Risorse correlate",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Show password":"Mostra la password","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Type to search time zone":"Digita per cercare un fuso orario","Unable to search the group":"Impossibile cercare il gruppo","Undo changes":"Cancella i cambiamenti",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrivi un messaggio, "@" per menzionare qualcuno, ":" per il completamento automatico delle emoji ...'}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Anything shared with the same group of people will show up here":"同じグループで共有しているものは、全てここに表示されます","Avatar of {displayName}":"{displayName} のアバター","Avatar of {displayName}, {status}":"{displayName}, {status} のアバター","Cancel changes":"変更をキャンセル","Change title":"タイトルを変更",Choose:"選択","Clear text":"テキストをクリア",Close:"閉じる","Close modal":"モーダルを閉じる","Close navigation":"ナビゲーションを閉じる","Close sidebar":"サイドバーを閉じる","Confirm changes":"変更を承認",Custom:"カスタム","Edit item":"編集","Error getting related resources":"関連リソースの取得エラー","Error parsing svg":"svgの解析エラー","External documentation for {title}":"{title} のための添付文書",Favorite:"お気に入り",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Go back to the list":"リストに戻る","Hide password":"パスワードを非表示","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています","More items …":"他のアイテム",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物",Open:"開く",'Open link to "{resourceTitle}"':'"{resourceTitle}"のリンクを開く',"Open navigation":"ナビゲーションを開く","Password is secure":"パスワードは保護されています","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前","Related resources":"関連リソース",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Show password":"パスワードを表示","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Undo changes":"変更を取り消し",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'メッセージを記入、"@"でメンション、":"で絵文字の自動補完 ...'}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа","Avatar of {displayName}":"Аватар на {displayName}","Avatar of {displayName}, {status}":"Аватар на {displayName}, {status}","Cancel changes":"Откажи ги промените","Change title":"Промени наслов",Choose:"Избери",Close:"Затвори","Close modal":"Затвори модал","Close navigation":"Затвори навигација","Confirm changes":"Потврди ги промените",Custom:"Прилагодени","Edit item":"Уреди","External documentation for {title}":"Надворешна документација за {title}",Favorite:"Фаворити",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени",Global:"Глобално","Go back to the list":"Врати се на листата",items:"ставки","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато","More {dashboardItemType} …":"Повеќе {dashboardItemType} …",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти",Open:"Отвори","Open navigation":"Отвори навигација","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон","Please select a time zone:":"Изберете временска зона:",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Submit:"Испрати",Symbols:"Симболи","Travel & Places":"Патувања & Места","Type to search time zone":"Напишете за да пребарате временска зона","Unable to search the group":"Неможе да се принајде групата","Undo changes":"Врати ги промените","Write message, @ to mention someone, : for emoji autocompletion …":"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ..."}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Anything shared with the same group of people will show up here":"Alt som er delt med den samme gruppen vil vises her","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer","Change title":"Endre tittel",Choose:"Velg","Clear text":"Fjern tekst",Close:"Lukk","Close modal":"Lukk modal","Close navigation":"Lukk navigasjon","Close sidebar":"Lukk sidepanel","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","Error getting related resources":"Feil ved henting av relaterte ressurser","Error parsing svg":"Feil ved parsing av svg","External documentation for {title}":"Ekstern dokumentasjon for {title}",Favorite:"Favoritt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Hide password":"Skjul passord","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding","More items …":"Flere gjenstander...",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter",Open:"Åpne",'Open link to "{resourceTitle}"':'Åpne link til "{resourceTitle}"',"Open navigation":"Åpne navigasjon","Password is secure":"Passordet er sikkert","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige","Related resources":"Relaterte ressurser",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjonsinstillinger","Show password":"Vis passord","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Tast for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv melding, bruk "@" for å nevne noen, bruk ":" for autofullføring av emoji...'}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Anything shared with the same group of people will show up here":"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany","Change title":"Zmień tytuł",Choose:"Wybierz","Clear text":"Wyczyść tekst",Close:"Zamknij","Close modal":"Zamknij modal","Close navigation":"Zamknij nawigację","Close sidebar":"Zamknij pasek boczny","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","Error getting related resources":"Błąd podczas pobierania powiązanych zasobów","Error parsing svg":"Błąd podczas analizowania svg","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Favorite:"Ulubiony",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Hide password":"Ukryj hasło","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków","More items …":"Więcej pozycji…",Next:"Następny","No emoji found":"Nie znaleziono emoji","No results":"Brak wyników",Objects:"Obiekty",Open:"Otwórz",'Open link to "{resourceTitle}"':'Otwórz link do "{resourceTitle}"',"Open navigation":"Otwórz nawigację","Password is secure":"Hasło jest bezpieczne","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni","Related resources":"Powiązane zasoby",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Show password":"Pokaż hasło","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Napisz wiadomość, "@" aby o kimś wspomnieć, ":" dla autouzupełniania emoji…'}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Anything shared with the same group of people will show up here":"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações","Change title":"Alterar título",Choose:"Escolher","Clear text":"Limpar texto",Close:"Fechar","Close modal":"Fechar modal","Close navigation":"Fechar navegação","Close sidebar":"Fechar barra lateral","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","Error getting related resources":"Erro ao obter recursos relacionados","Error parsing svg":"Erro ao analisar svg","External documentation for {title}":"Documentação externa para {title}",Favorite:"Favorito",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Hide password":"Ocultar a senha","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido","More items …":"Mais itens …",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos",Open:"Aberto",'Open link to "{resourceTitle}"':'Abrir link para "{resourceTitle}"',"Open navigation":"Abrir navegação","Password is secure":"A senha é segura","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Show password":"Mostrar senha","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escreva mensagens, use "@" para mencionar algum, use ":" for autocompletar emoji …'}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ro",translations:{"{tag} (invisible)":"{tag} (invizibil)","{tag} (restricted)":"{tag} (restricționat)",Actions:"Acțiuni",Activities:"Activități","Animals & Nature":"Animale și natură","Anything shared with the same group of people will show up here":"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici","Avatar of {displayName}":"Avatarul lui {displayName}","Avatar of {displayName}, {status}":"Avatarul lui {displayName}, {status}","Cancel changes":"Anulează modificările","Change title":"Modificați titlul",Choose:"Alegeți","Clear text":"Șterge textul",Close:"Închideți","Close modal":"Închideți modulul","Close navigation":"Închideți navigarea","Close sidebar":"Închide bara laterală","Confirm changes":"Confirmați modificările",Custom:"Personalizat","Edit item":"Editați elementul","Error getting related resources":" Eroare la returnarea resurselor legate","Error parsing svg":"Eroare de analizare a svg","External documentation for {title}":"Documentație externă pentru {title}",Favorite:"Favorit",Flags:"Marcaje","Food & Drink":"Alimente și băuturi","Frequently used":"Utilizate frecvent",Global:"Global","Go back to the list":"Întoarceți-vă la listă","Hide password":"Ascunde parola","Message limit of {count} characters reached":"Limita mesajului de {count} caractere a fost atinsă","More items …":"Mai multe articole ...",Next:"Următorul","No emoji found":"Nu s-a găsit niciun emoji","No results":"Nu există rezultate",Objects:"Obiecte",Open:"Deschideți",'Open link to "{resourceTitle}"':'Deschide legătura la "{resourceTitle}"',"Open navigation":"Deschideți navigația","Password is secure":"Parola este sigură","Pause slideshow":"Pauză prezentare de diapozitive","People & Body":"Oameni și corp","Pick an emoji":"Alege un emoji","Please select a time zone:":"Vă rugăm să selectați un fus orar:",Previous:"Anterior","Related resources":"Resurse legate",Search:"Căutare","Search results":"Rezultatele căutării","Select a tag":"Selectați o etichetă",Settings:"Setări","Settings navigation":"Navigare setări","Show password":"Arată parola","Smileys & Emotion":"Zâmbete și emoții","Start slideshow":"Începeți prezentarea de diapozitive",Submit:"Trimiteți",Symbols:"Simboluri","Travel & Places":"Călătorii și locuri","Type to search time zone":"Tastați pentru a căuta fusul orar","Unable to search the group":"Imposibilitatea de a căuta în grup","Undo changes":"Anularea modificărilor",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrie un mesaj, folosește "@" pentru a menționa pe cineva, folosește ":" pentru autocompletarea cu emoji ...'}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Фотография {displayName}, {status}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Close modal":"Закрыть модальное окно","Close navigation":"Закрыть навигацию","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","Edit item":"Изменить элемент","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Go back to the list":"Вернуться к списку",items:"элементов","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}","More {dashboardItemType} …":"Больше {dashboardItemType} …",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты",Open:"Открыть","Open navigation":"Открыть навигацию","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Undo changes":"Отменить изменения","Write message, @ to mention someone, : for emoji autocompletion …":"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Avatar of {displayName}, {status}":"Avatar {displayName}, {status}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone, : for emoji autocompletion …":"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…"}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Avatar of {displayName}, {status}":"Prikazna slika {displayName}, {status}","Cancel changes":"Prekliči spremembe","Change title":"Spremeni naziv",Choose:"Izbor","Clear text":"Počisti besedilo",Close:"Zapri","Close modal":"Zapri pojavno okno","Close navigation":"Zapri krmarjenje","Close sidebar":"Zapri stransko vrstico","Confirm changes":"Potrdi spremembe",Custom:"Po meri","Edit item":"Uredi predmet","Error getting related resources":"Napaka pridobivanja povezanih virov","External documentation for {title}":"Zunanja dokumentacija za {title}",Favorite:"Priljubljeno",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Go back to the list":"Vrni se na seznam","Hide password":"Skrij geslo","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.","More items …":"Več predmetov ...",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti",Open:"Odpri",'Open link to "{resourceTitle}"':"Odpri povezavo do »{resourceTitle}«","Open navigation":"Odpri krmarjenje","Password is secure":"Geslo je varno","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick a date":"Izbor datuma","Pick a date and a time":"Izbor datuma in časa","Pick a month":"Izbor meseca","Pick a time":"Izbor časa","Pick a week":"Izbor tedna","Pick a year":"Izbor leta","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni","Related resources":"Povezani viri",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Show password":"Pokaži geslo","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Undo changes":"Razveljavi spremembe","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …"}},{locale:"sr",translations:{"{tag} (invisible)":"{tag} (nevidljivo)","{tag} (restricted)":"{tag} (ograničeno)",Actions:"Radnje",Activities:"Aktivnosti","Animals & Nature":"Životinje i Priroda","Avatar of {displayName}":"Avatar za {displayName}","Avatar of {displayName}, {status}":"Avatar za {displayName}, {status}","Cancel changes":"Otkaži izmene","Change title":"Izmeni naziv",Choose:"Изаберите",Close:"Затвори","Close modal":"Zatvori modal","Close navigation":"Zatvori navigaciju","Close sidebar":"Zatvori bočnu traku","Confirm changes":"Potvrdite promene",Custom:"Po meri","Edit item":"Uredi stavku","External documentation for {title}":"Eksterna dokumentacija za {title}",Favorite:"Omiljeni",Flags:"Zastave","Food & Drink":"Hrana i Piće","Frequently used":"Često korišćeno",Global:"Globalno","Go back to the list":"Natrag na listu",items:"stavke","Message limit of {count} characters reached":"Dostignuto je ograničenje za poruke od {count} znakova","More {dashboardItemType} …":"Više {dashboardItemType} …",Next:"Следеће","No emoji found":"Nije pronađen nijedan emodži","No results":"Нема резултата",Objects:"Objekti",Open:"Otvori","Open navigation":"Otvori navigaciju","Pause slideshow":"Паузирај слајд шоу","People & Body":"Ljudi i Telo","Pick an emoji":"Izaberi emodži","Please select a time zone:":"Molimo izaberite vremensku zonu:",Previous:"Претходно",Search:"Pretraži","Search results":"Rezultati pretrage","Select a tag":"Изаберите ознаку",Settings:"Поставке","Settings navigation":"Navigacija u podešavanjima","Smileys & Emotion":"Smajli i Emocije","Start slideshow":"Покрени слајд шоу",Submit:"Prihvati",Symbols:"Simboli","Travel & Places":"Putovanja i Mesta","Type to search time zone":"Ukucaj da pretražiš vremenske zone","Unable to search the group":"Nije moguće pretražiti grupu","Undo changes":"Poništi promene","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…"}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Anything shared with the same group of people will show up here":"Något som delats med samma grupp av personer kommer att visas här","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar","Change title":"Ändra titel",Choose:"Välj","Clear text":"Ta bort text",Close:"Stäng","Close modal":"Stäng modal","Close navigation":"Stäng navigering","Close sidebar":"Stäng sidopanel","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","Error getting related resources":"Problem att hämta relaterade resurser","Error parsing svg":"Fel vid inläsning av svg","External documentation for {title}":"Extern dokumentation för {title}",Favorite:"Favorit",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Hide password":"Göm lössenordet","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används","More items …":"Fler objekt",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt",Open:"Öppna",'Open link to "{resourceTitle}"':'Öppna länk till "{resourceTitle}"',"Open navigation":"Öppna navigering","Password is secure":"Lössenordet är säkert","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående","Related resources":"Relaterade resurser",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Show password":"Visa lössenordet","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv meddelande, använd "@" för att nämna någon, använd ":" för automatiska emojiförslag ...'}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Anything shared with the same group of people will show up here":"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et","Change title":"Başlığı değiştir",Choose:"Seçin","Clear text":"Metni temizle",Close:"Kapat","Close modal":"Üste açılan pencereyi kapat","Close navigation":"Gezinmeyi kapat","Close sidebar":"Yan çubuğu kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","Error getting related resources":"İlgili kaynaklar alınırken sorun çıktı","Error parsing svg":"svg işlenirken sorun çıktı","External documentation for {title}":"{title} için dış belgeler",Favorite:"Sık kullanılanlara ekle",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Hide password":"Parolayı gizle","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı","More items …":"Diğer ögeler…",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler",Open:"Aç",'Open link to "{resourceTitle}"':'"{resourceTitle}" bağlantısını aç',"Open navigation":"Gezinmeyi aç","Password is secure":"Parola güvenli","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki","Related resources":"İlgili kaynaklar",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Show password":"Parolayı görüntüle","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için ":" kullanın…'}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (невидимий)","{tag} (restricted)":"{tag} (обмежений)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Аватар {displayName}, {status}","Cancel changes":"Скасувати зміни","Change title":"Змінити назву",Choose:"ВиберітьВиберіть","Clear text":"Очистити текст",Close:"Закрити","Close modal":"Закрити модаль","Close navigation":"Закрити навігацію","Close sidebar":"Закрити бічну панель","Confirm changes":"Підтвердити зміни",Custom:"Власне","Edit item":"Редагувати елемент","External documentation for {title}":"Зовнішня документація для {title}",Favorite:"Улюблений",Flags:"Прапори","Food & Drink":"Їжа та напої","Frequently used":"Найчастіші",Global:"Глобальний","Go back to the list":"Повернутися до списку","Hide password":"Приховати пароль",items:"елементи","Message limit of {count} characters reached":"Вичерпано ліміт у {count} символів для повідомлення","More {dashboardItemType} …":"Більше {dashboardItemType}…",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти",Open:"Відкрити","Open navigation":"Відкрити навігацію","Password is secure":"Пароль безпечний","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку","Please select a time zone:":"Виберіть часовий пояс:",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Settings navigation":"Навігація у налаштуваннях","Show password":"Показати пароль","Smileys & Emotion":"Смайли та емоції","Start slideshow":"Почати показ слайдів",Submit:"Надіслати",Symbols:"Символи","Travel & Places":"Поїздки та місця","Type to search time zone":"Введіть для пошуку часовий пояс","Unable to search the group":"Неможливо шукати в групі","Undo changes":"Скасувати зміни","Write message, @ to mention someone, : for emoji autocompletion …":"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Anything shared with the same group of people will show up here":"与同组用户分享的所有内容都会显示于此","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改","Change title":"更改标题",Choose:"选择","Clear text":"清除文本",Close:"关闭","Close modal":"关闭窗口","Close navigation":"关闭导航","Close sidebar":"关闭侧边栏","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","Error getting related resources":"获取相关资源时出错","Error parsing svg":"解析 svg 时出错","External documentation for {title}":"{title}的外部文档",Favorite:"喜爱",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Hide password":"隐藏密码","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制","More items …":"更多项目…",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体",Open:"打开",'Open link to "{resourceTitle}"':'打开"{resourceTitle}"的连接',"Open navigation":"开启导航","Password is secure":"密码安全","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个","Related resources":"相关资源",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Show password":"显示密码","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'写信息,使用"@"来提及某人,使用":"进行表情符号自动完成 ...'}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Anything shared with the same group of people will show up here":"與同一組人共享的任何內容都會顯示在此處","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName} 的頭像,{status}","Cancel changes":"取消更改","Change title":"更改標題",Choose:"選擇","Clear text":"清除文本",Close:"關閉","Close modal":"關閉模態","Close navigation":"關閉導航","Close sidebar":"關閉側邊欄","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","Error getting related resources":"獲取相關資源出錯","Error parsing svg":"解析 svg 時出錯","External documentation for {title}":"{title} 的外部文檔",Favorite:"喜愛",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Hide password":"隱藏密碼","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制","More items …":"更多項目 …",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件",Open:"打開",'Open link to "{resourceTitle}"':"打開指向 “{resourceTitle}” 的鏈結","Open navigation":"開啟導航","Password is secure":"密碼是安全的","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個","Related resources":"相關資源",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Show password":"顯示密碼","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'寫訊息,使用 "@" 來指代某人,使用 ":" 用於表情符號自動填充 ...'}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((e=>{const t={};for(const n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};a.addTranslation(e.locale,{translations:{"":t}})}));const r=a.build(),s=(r.ngettext.bind(r),r.gettext.bind(r))},1205:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=e=>Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,e||5)},1206:(e,t,n)=>{"use strict";n.d(t,{L:()=>a}),n(4505);const a=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},9886:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon[data-v-657486e3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-657486e3]{display:flex;align-items:center}.action-items>button[data-v-657486e3]{margin-right:7px}.action-item[data-v-657486e3]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-657486e3]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-657486e3]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-657486e3]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-657486e3]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-657486e3]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-657486e3]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-657486e3]{background-color:var(--open-background-color)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// Inline buttons\n.action-items {\n\tdisplay: flex;\n\talign-items: center;\n\n\t// Spacing between buttons\n\t& > button {\n\t\tmargin-right: math.div($icon-margin, 2);\n\t}\n}\n\n.action-item {\n\t--open-background-color: var(--color-background-hover, $action-background-hover);\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--primary {\n\t\t--open-background-color: var(--color-primary-element-hover);\n\t}\n\n\t&.action-item--secondary {\n\t\t--open-background-color: var(--color-primary-element-light-hover);\n\t}\n\n\t&.action-item--error {\n\t\t--open-background-color: var(--color-error-hover);\n\t}\n\n\t&.action-item--warning {\n\t\t--open-background-color: var(--color-warning-hover);\n\t}\n\n\t&.action-item--success {\n\t\t--open-background-color: var(--color-success-hover);\n\t}\n\n\t&.action-item--tertiary-no-background {\n\t\t--open-background-color: transparent;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\tbackground-color: var(--open-background-color);\n\t}\n}\n"],sourceRoot:""}]);const i=o},4214:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\toverflow:hidden;\n\n\t.v-popper__inner {\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 4px;\n\t\tmax-height: calc(50vh - 16px);\n\t\toverflow: auto;\n\t}\n}\n"],sourceRoot:""}]);const i=o},4466:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon[data-v-4c8c7bff]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-4c8c7bff]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-4c8c7bff],.button-vue span[data-v-4c8c7bff]{cursor:pointer}.button-vue[data-v-4c8c7bff]:focus{outline:none}.button-vue[data-v-4c8c7bff]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-4c8c7bff]{cursor:default}.button-vue[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-4c8c7bff]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-4c8c7bff]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-4c8c7bff]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-4c8c7bff]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-4c8c7bff]{width:44px !important}.button-vue--text-only[data-v-4c8c7bff]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-4c8c7bff]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-4c8c7bff]{padding:0 16px 0 4px}.button-vue--wide[data-v-4c8c7bff]{width:100%}.button-vue[data-v-4c8c7bff]:focus-visible{outline:2px solid var(--color-main-text) !important;box-shadow:0 0 0 4px var(--color-main-background) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-4c8c7bff]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-4c8c7bff]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-4c8c7bff]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-4c8c7bff]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-4c8c7bff]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-4c8c7bff]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-4c8c7bff]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-4c8c7bff]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-4c8c7bff]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-4c8c7bff]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-4c8c7bff]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-4c8c7bff]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-4c8c7bff]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-4c8c7bff]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-4c8c7bff]:active{background-color:var(--color-error)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcButton/NcButton.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,4DAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const i=o},1625:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius-large);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopover/NcPopover.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,wCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const i=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",a=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),a&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),a&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,a,r,s){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(a)for(var i=0;i0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=s),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),r&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=r):c[4]="".concat(r)),t.push(c))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),s="/*# ".concat(r," */");return[t].concat([s]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,a=0;a{"use strict";var t={};e.exports=function(e,n){var a=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(e){n=null}t[e]=n}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var a="";n.supports&&(a+="@supports (".concat(n.supports,") {")),n.media&&(a+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(a+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),a+=n.css,r&&(a+="}"),n.media&&(a+="}"),n.supports&&(a+="}");var s=n.sourceMap;s&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},5727:()=>{},2102:()=>{},2405:()=>{},1900:(e,t,n)=>{"use strict";function a(e,t,n,a,r,s,o,i){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),a&&(u.functional=!0),s&&(u._scopeId="data-v-"+s),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):r&&(l=i?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:u}}n.d(t,{Z:()=>a})},7931:e=>{"use strict";e.exports=n(23955)},9454:e=>{"use strict";e.exports=n(67444)},4505:e=>{"use strict";e.exports=n(44291)},2734:e=>{"use strict";e.exports=n(20144)},1441:e=>{"use strict";e.exports=n(89115)}},t={};function a(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={id:n,exports:{}};return e[n](s,s.exports,a),s.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nc=void 0;var r={};return(()=>{"use strict";a.r(r),a.d(r,{default:()=>Y});var e=a(1560),t=a(2297),n=a(1205),s=a(932),o=a(2734),i=a.n(o),l=a(1441),u=a.n(l);const c=".focusable",d={name:"NcActions",components:{NcButton:e.default,DotsHorizontal:u(),NcPopover:t.default},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},type:{type:String,validator:e=>-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(e),default:null},defaultIcon:{type:String,default:""},ariaLabel:{type:String,default:(0,s.t)("Actions")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:"bottom"},boundariesElement:{type:Element,default:()=>document.querySelector("body")},container:{type:[String,Object,Element,Boolean],default:"body"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0}},emits:["update:open","open","update:open","close","focus","blur"],data(){return{opened:this.open,focusIndex:0,randomId:"menu-".concat((0,n.Z)())}},computed:{triggerBtnType(){return this.type||(this.primary?"primary":this.menuTitle?"secondary":"tertiary")}},watch:{open(e){e!==this.opened&&(this.opened=e)}},methods:{isValidSingleAction(e){var t,n,a,r,s;const o=null!==(t=null==e||null===(n=e.componentOptions)||void 0===n||null===(a=n.Ctor)||void 0===a||null===(r=a.extendOptions)||void 0===r?void 0:r.name)&&void 0!==t?t:null==e||null===(s=e.componentOptions)||void 0===s?void 0:s.tag;return["NcActionButton","NcActionLink","NcActionRouter"].includes(o)},openMenu(e){this.opened||(this.opened=!0,this.$emit("update:open",!0),this.$emit("open"))},closeMenu(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:e}),this.$emit("update:open",!1),this.$emit("close"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen(e){this.$nextTick((()=>{this.focusFirstAction(e)}))},onMouseFocusAction(e){if(document.activeElement===e.target)return;const t=e.target.closest("li");if(t){const e=t.querySelector(c);if(e){const t=[...this.$refs.menu.querySelectorAll(c)].indexOf(e);t>-1&&(this.focusIndex=t,this.focusAction())}}},onKeydown(e){(38===e.keyCode||9===e.keyCode&&e.shiftKey)&&this.focusPreviousAction(e),(40===e.keyCode||9===e.keyCode&&!e.shiftKey)&&this.focusNextAction(e),33===e.keyCode&&this.focusFirstAction(e),34===e.keyCode&&this.focusLastAction(e),27===e.keyCode&&(this.closeMenu(),e.preventDefault())},removeCurrentActive(){const e=this.$refs.menu.querySelector("li.active");e&&e.classList.remove("active")},focusAction(){const e=this.$refs.menu.querySelectorAll(c)[this.focusIndex];if(e){this.removeCurrentActive();const t=e.closest("li.action");e.focus(),t&&t.classList.add("active")}},focusPreviousAction(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction(e){if(this.opened){const t=this.$refs.menu.querySelectorAll(c).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$refs.menu.querySelectorAll(c).length-1,this.focusAction())},preventIfEvent(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus(e){this.$emit("focus",e)},onBlur(e){this.$emit("blur",e)}},render(e){const t=(this.$slots.default||[]).filter((e=>{var t,n,a,r;return(null==e||null===(t=e.componentOptions)||void 0===t?void 0:t.tag)||(null==e||null===(n=e.componentOptions)||void 0===n||null===(a=n.Ctor)||void 0===a||null===(r=a.extendOptions)||void 0===r?void 0:r.name)})),n=t.every((e=>{var t,n,a,r,s,o,i,l;return"NcActionLink"===(null!==(t=null==e||null===(n=e.componentOptions)||void 0===n||null===(a=n.Ctor)||void 0===a||null===(r=a.extendOptions)||void 0===r?void 0:r.name)&&void 0!==t?t:null==e||null===(s=e.componentOptions)||void 0===s?void 0:s.tag)&&(null==e||null===(o=e.componentOptions)||void 0===o||null===(i=o.propsData)||void 0===i||null===(l=i.href)||void 0===l?void 0:l.startsWith(window.location.origin))}));let a=t.filter(this.isValidSingleAction);if(this.forceMenu&&a.length>0&&this.inline>0&&(i().util.warn("Specifying forceMenu will ignore any inline actions rendering."),a=[]),0===t.length)return;const r=t=>{var n,a,r,s,o,i,l,u,c,d,m,p,h,g,f,_,v,y,b,A,k,C;const w=(null==t||null===(n=t.data)||void 0===n||null===(a=n.scopedSlots)||void 0===a||null===(r=a.icon())||void 0===r?void 0:r[0])||e("span",{class:["icon",null==t||null===(s=t.componentOptions)||void 0===s||null===(o=s.propsData)||void 0===o?void 0:o.icon]}),x=null==t||null===(i=t.componentOptions)||void 0===i||null===(l=i.listeners)||void 0===l?void 0:l.click,L=null==t||null===(u=t.componentOptions)||void 0===u||null===(c=u.children)||void 0===c||null===(d=c[0])||void 0===d||null===(m=d.text)||void 0===m||null===(p=m.trim)||void 0===p?void 0:p.call(m),T=(null==t||null===(h=t.componentOptions)||void 0===h||null===(g=h.propsData)||void 0===g?void 0:g.ariaLabel)||L,M=this.forceTitle?L:"";let S=null==t||null===(f=t.componentOptions)||void 0===f||null===(_=f.propsData)||void 0===_?void 0:_.title;return this.forceTitle||S||(S=L),e("NcButton",{class:["action-item action-item--single",null==t||null===(v=t.data)||void 0===v?void 0:v.staticClass,null==t||null===(y=t.data)||void 0===y?void 0:y.class],attrs:{"aria-label":T,title:S},ref:null==t||null===(b=t.data)||void 0===b?void 0:b.ref,props:{type:this.type||(M?"secondary":"tertiary"),disabled:this.disabled||(null==t||null===(A=t.componentOptions)||void 0===A||null===(k=A.propsData)||void 0===k?void 0:k.disabled),ariaHidden:this.ariaHidden,...null==t||null===(C=t.componentOptions)||void 0===C?void 0:C.propsData},on:{focus:this.onFocus,blur:this.onBlur,...!!x&&{click:e=>{x&&x(e)}}}},[e("template",{slot:"icon"},[w]),M])},s=t=>{var a,r;const s=(null===(a=this.$slots.icon)||void 0===a?void 0:a[0])||(this.defaultIcon?e("span",{class:["icon",this.defaultIcon]}):e("DotsHorizontal",{props:{size:20}}));return e("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,popoverBaseClass:"action-item__popper",setReturnFocus:null===(r=this.$refs.menuButton)||void 0===r?void 0:r.$el},attrs:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,popoverBaseClass:"action-item__popper"},on:{show:this.openMenu,"after-show":this.onOpen,hide:this.closeMenu}},[e("NcButton",{class:"action-item__menutoggle",props:{type:this.triggerBtnType,disabled:this.disabled,ariaHidden:this.ariaHidden},slot:"trigger",ref:"menuButton",attrs:{"aria-haspopup":n?null:"menu","aria-label":this.menuTitle?null:this.ariaLabel,"aria-controls":this.opened?this.randomId:null,"aria-expanded":this.opened.toString()},on:{focus:this.onFocus,blur:this.onBlur}},[e("template",{slot:"icon"},[s]),this.menuTitle]),e("div",{class:{open:this.opened},attrs:{tabindex:"-1"},on:{keydown:this.onKeydown,mousemove:this.onMouseFocusAction},ref:"menu"},[e("ul",{attrs:{id:this.randomId,tabindex:"-1",role:n?null:"menu"}},[t])])])};if(1===t.length&&1===a.length&&!this.forceMenu)return r(a[0]);if(a.length>0&&this.inline>0){const n=a.slice(0,this.inline),o=t.filter((e=>!n.includes(e)));return e("div",{class:["action-items","action-item--".concat(this.triggerBtnType)]},[...n.map(r),o.length>0?e("div",{class:["action-item",{"action-item--open":this.opened}]},[s(o)]):null])}return e("div",{class:["action-item action-item--default-popover","action-item--".concat(this.triggerBtnType),{"action-item--open":this.opened}]},[s(t)])}};var m=a(3379),p=a.n(m),h=a(7795),g=a.n(h),f=a(569),_=a.n(f),v=a(3565),y=a.n(v),b=a(9216),A=a.n(b),k=a(4589),C=a.n(k),w=a(9886),x={};x.styleTagTransform=C(),x.setAttributes=y(),x.insert=_().bind(null,"head"),x.domAPI=g(),x.insertStyleElement=A(),p()(w.Z,x),w.Z&&w.Z.locals&&w.Z.locals;var L=a(4214),T={};T.styleTagTransform=C(),T.setAttributes=y(),T.insert=_().bind(null,"head"),T.domAPI=g(),T.insertStyleElement=A(),p()(L.Z,T),L.Z&&L.Z.locals&&L.Z.locals;var M=a(1900),S=a(5727),D=a.n(S),j=(0,M.Z)(d,void 0,void 0,!1,null,"657486e3",null);"function"==typeof D()&&D()(j);const Y=j.exports})(),r})()))},75925:(e,t,n)=>{var a;self,a=()=>(()=>{var e={5378:(e,t,n)=>{"use strict";n.d(t,{default:()=>k});const a={name:"NcLoadingIcon",props:{size:{type:Number,default:20},appearance:{type:String,validator:e=>["auto","light","dark"].includes(e),default:"auto"},title:{type:String,default:""}},computed:{colors(){const e=["#777","#CCC"];return"light"===this.appearance?e:"dark"===this.appearance?e.reverse():["var(--color-loading-light)","var(--color-loading-dark)"]}}};var r=n(3379),s=n.n(r),o=n(7795),i=n.n(o),l=n(569),u=n.n(l),c=n(3565),d=n.n(c),m=n(9216),p=n.n(m),h=n(4589),g=n.n(h),f=n(5030),_={};_.styleTagTransform=g(),_.setAttributes=d(),_.insert=u().bind(null,"head"),_.domAPI=i(),_.insertStyleElement=p(),s()(f.Z,_),f.Z&&f.Z.locals&&f.Z.locals;var v=n(1900),y=n(9280),b=n.n(y),A=(0,v.Z)(a,(function(){var e=this,t=e._self._c;return t("span",{staticClass:"material-design-icon loading-icon",attrs:{"aria-label":e.title,role:"img"}},[t("svg",{attrs:{width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{fill:e.colors[0],d:"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z"}}),e._v(" "),t("path",{attrs:{fill:e.colors[1],d:"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,"c4a9cada",null);"function"==typeof b()&&b()(A);const k=A.exports},2297:(e,t,n)=>{"use strict";n.d(t,{default:()=>L});var a=n(9454),r=n(4505),s=n(1206);const o={name:"NcPopover",components:{Dropdown:a.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["after-show","after-hide"],beforeDestroy(){this.clearFocusTrap()},methods:{async useFocusTrap(){var e,t;if(await this.$nextTick(),!this.focusTrap)return;const n=null===(e=this.$refs.popover)||void 0===e||null===(t=e.$refs.popperContent)||void 0===t?void 0:t.$el;n&&(this.$focusTrap=(0,r.createFocusTrap)(n,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:this.setReturnFocus,trapStack:(0,s.L)()}),this.$focusTrap.activate())},clearFocusTrap(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){console.warn(e)}},afterShow(){this.$nextTick((()=>{this.$emit("after-show"),this.useFocusTrap()}))},afterHide(){this.$emit("after-hide"),this.clearFocusTrap()}}},i=o;var l=n(3379),u=n.n(l),c=n(7795),d=n.n(c),m=n(569),p=n.n(m),h=n(3565),g=n.n(h),f=n(9216),_=n.n(f),v=n(4589),y=n.n(v),b=n(1625),A={};A.styleTagTransform=y(),A.setAttributes=g(),A.insert=p().bind(null,"head"),A.domAPI=d(),A.insertStyleElement=_(),u()(b.Z,A),b.Z&&b.Z.locals&&b.Z.locals;var k=n(1900),C=n(2405),w=n.n(C),x=(0,k.Z)(i,(function(){var e=this;return(0,e._self._c)("Dropdown",e._g(e._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":e.popoverBaseClass},on:{"apply-show":e.afterShow,"apply-hide":e.afterHide},scopedSlots:e._u([{key:"popper",fn:function(){return[e._t("default")]},proxy:!0}],null,!0)},"Dropdown",e.$attrs,!1),e.$listeners),[e._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof w()&&w()(x);const L=x.exports},306:(e,t,n)=>{"use strict";n.d(t,{default:()=>T});const a={name:"NcPopoverMenuItem",props:{item:{type:Object,required:!0,default:()=>({key:"nextcloud-link",href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}),validator:e=>!e.input||-1!==["text","checkbox"].indexOf(e.input)}},computed:{key(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl(){try{return new URL(this.item.icon),!0}catch(e){return!1}}},methods:{action(e){this.item.action&&this.item.action(e)}}};var r=n(3379),s=n.n(r),o=n(7795),i=n.n(o),l=n(569),u=n.n(l),c=n(3565),d=n.n(c),m=n(9216),p=n.n(m),h=n(4589),g=n.n(h),f=n(8369),_={};_.styleTagTransform=g(),_.setAttributes=d(),_.insert=u().bind(null,"head"),_.domAPI=i(),_.insertStyleElement=p(),s()(f.Z,_),f.Z&&f.Z.locals&&f.Z.locals;var v=n(408),y={};y.styleTagTransform=g(),y.setAttributes=d(),y.insert=u().bind(null,"head"),y.domAPI=i(),y.insertStyleElement=p(),s()(v.Z,y),v.Z&&v.Z.locals&&v.Z.locals;var b=n(1900);const A={name:"NcPopoverMenu",components:{NcPopoverMenuItem:(0,b.Z)(a,(function(){var e=this,t=e._self._c;return t("li",{staticClass:"popover__menuitem"},[e.item.href?t("a",{staticClass:"focusable",attrs:{href:e.item.href?e.item.href:"#",target:e.item.target?e.item.target:"",download:e.item.download,rel:"nofollow noreferrer noopener"},on:{click:e.action}},[e.iconIsUrl?t("img",{attrs:{src:e.item.icon}}):t("span",{class:e.item.icon}),e._v(" "),e.item.text&&e.item.longtext?t("p",[t("strong",{staticClass:"menuitem-text"},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")]),t("br"),e._v(" "),t("span",{staticClass:"menuitem-text-detail"},[e._v("\n\t\t\t\t"+e._s(e.item.longtext)+"\n\t\t\t")])]):e.item.text?t("span",[e._v("\n\t\t\t"+e._s(e.item.text)+"\n\t\t")]):e.item.longtext?t("p",[e._v("\n\t\t\t"+e._s(e.item.longtext)+"\n\t\t")]):e._e()]):e.item.input?t("span",{staticClass:"menuitem",class:{active:e.item.active}},["checkbox"!==e.item.input?t("span",{class:e.item.icon}):e._e(),e._v(" "),"text"===e.item.input?t("form",{class:e.item.input,on:{submit:function(t){return t.preventDefault(),e.item.action.apply(null,arguments)}}},[t("input",{attrs:{type:e.item.input,placeholder:e.item.text,required:""},domProps:{value:e.item.value}}),e._v(" "),t("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):["checkbox"===e.item.input?t("input",{directives:[{name:"model",rawName:"v-model",value:e.item.model,expression:"item.model"}],class:e.item.input,attrs:{id:e.key,type:"checkbox"},domProps:{checked:Array.isArray(e.item.model)?e._i(e.item.model,null)>-1:e.item.model},on:{change:[function(t){var n=e.item.model,a=t.target,r=!!a.checked;if(Array.isArray(n)){var s=e._i(n,null);a.checked?s<0&&e.$set(e.item,"model",n.concat([null])):s>-1&&e.$set(e.item,"model",n.slice(0,s).concat(n.slice(s+1)))}else e.$set(e.item,"model",r)},e.item.action]}}):"radio"===e.item.input?t("input",{directives:[{name:"model",rawName:"v-model",value:e.item.model,expression:"item.model"}],class:e.item.input,attrs:{id:e.key,type:"radio"},domProps:{checked:e._q(e.item.model,null)},on:{change:[function(t){return e.$set(e.item,"model",null)},e.item.action]}}):t("input",{directives:[{name:"model",rawName:"v-model",value:e.item.model,expression:"item.model"}],class:e.item.input,attrs:{id:e.key,type:e.item.input},domProps:{value:e.item.model},on:{change:e.item.action,input:function(t){t.target.composing||e.$set(e.item,"model",t.target.value)}}}),e._v(" "),t("label",{attrs:{for:e.key},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.item.action.apply(null,arguments)}}},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")])]],2):e.item.action?t("button",{staticClass:"menuitem focusable",class:{active:e.item.active},attrs:{disabled:e.item.disabled,type:"button"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.item.action.apply(null,arguments)}}},[t("span",{class:e.item.icon}),e._v(" "),e.item.text&&e.item.longtext?t("p",[t("strong",{staticClass:"menuitem-text"},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")]),t("br"),e._v(" "),t("span",{staticClass:"menuitem-text-detail"},[e._v("\n\t\t\t\t"+e._s(e.item.longtext)+"\n\t\t\t")])]):e.item.text?t("span",[e._v("\n\t\t\t"+e._s(e.item.text)+"\n\t\t")]):e.item.longtext?t("p",[e._v("\n\t\t\t"+e._s(e.item.longtext)+"\n\t\t")]):e._e()]):t("span",{staticClass:"menuitem",class:{active:e.item.active}},[t("span",{class:e.item.icon}),e._v(" "),e.item.text&&e.item.longtext?t("p",[t("strong",{staticClass:"menuitem-text"},[e._v("\n\t\t\t\t"+e._s(e.item.text)+"\n\t\t\t")]),t("br"),e._v(" "),t("span",{staticClass:"menuitem-text-detail"},[e._v("\n\t\t\t\t"+e._s(e.item.longtext)+"\n\t\t\t")])]):e.item.text?t("span",[e._v("\n\t\t\t"+e._s(e.item.text)+"\n\t\t")]):e.item.longtext?t("p",[e._v("\n\t\t\t"+e._s(e.item.longtext)+"\n\t\t")]):e._e()])])}),[],!1,null,"127b0c62",null).exports},props:{menu:{type:Array,default:()=>[{href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}],required:!0}}};var k=n(2),C={};C.styleTagTransform=g(),C.setAttributes=d(),C.insert=u().bind(null,"head"),C.domAPI=i(),C.insertStyleElement=p(),s()(k.Z,C),k.Z&&k.Z.locals&&k.Z.locals;var w=n(1174),x=n.n(w),L=(0,b.Z)(A,(function(){var e=this,t=e._self._c;return t("ul",{staticClass:"popover__menu"},e._l(e.menu,(function(e,n){return t("NcPopoverMenuItem",{key:n,attrs:{item:e}})})),1)}),[],!1,null,"31ffd2d4",null);"function"==typeof x()&&x()(L);const T=L.exports},7993:(e,t,a)=>{"use strict";a.d(t,{default:()=>i});var r=a(6609);const s=n(2568);var o=a.n(s);const i=function(e){let t=e.toLowerCase();return null===t.match(/^([0-9a-f]{4}-?){8}$/)&&(t=o()(t)),t=t.replace(/[^0-9a-f]/g,""),(0,r.Z)(6)[function(e,t){let n=0;const a=[];for(let t=0;t{"use strict";n.d(t,{t:()=>s});const a=(0,n(7931).getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Anything shared with the same group of people will show up here":"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات","Change title":"تغيير العنوان",Choose:"إختيار","Clear text":"مسح النص",Close:"أغلق","Close modal":"قفل الشرط","Close navigation":"إغلاق المتصفح","Close sidebar":"قفل الشريط الجانبي","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","Error getting related resources":"خطأ في تحصيل مصادر ذات صلة","External documentation for {title}":"الوثائق الخارجية لـ{title}",Favorite:"مفضلة",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Hide password":"إخفاء كلمة السر","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف","More items …":"عناصر أخرى ...",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء",Open:"فتح",'Open link to "{resourceTitle}"':'فتح رابط إلى "{resourceTitle}"',"Open navigation":"فتح المتصفح","Password is secure":"كلمة السر مُؤمّنة","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق","Related resources":"مصادر ذات صلة",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Show password":"أعرض كلمة السر","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Anything shared with the same group of people will show up here":"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancel·la els canvis","Change title":"Canviar títol",Choose:"Tria","Clear text":"Netejar text",Close:"Tanca","Close modal":"Tancar el mode","Close navigation":"Tanca la navegació","Close sidebar":"Tancar la barra lateral","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","Edit item":"Edita l'element","Error getting related resources":"Error obtenint els recursos relacionats","Error parsing svg":"Error en l'anàlisi del svg","External documentation for {title}":"Documentació externa per a {title}",Favorite:"Preferit",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment",Global:"Global","Go back to the list":"Torna a la llista","Hide password":"Amagar contrasenya","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge","More items …":"Més artícles...",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes",Open:"Obrir",'Open link to "{resourceTitle}"':'Obrir enllaç a "{resourceTitle}"',"Open navigation":"Obre la navegació","Password is secure":"Contrasenya segura
    ","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji","Please select a time zone:":"Seleccioneu una zona horària:",Previous:"Anterior","Related resources":"Recursos relacionats",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Seleccioneu una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Show password":"Mostrar contrasenya","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Type to search time zone":"Escriviu per cercar la zona horària","Unable to search the group":"No es pot cercar el grup","Undo changes":"Desfés els canvis",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escriu missatge, fes servir "@" per esmentar algú, fes servir ":" per autocompletar emojis...'}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Anything shared with the same group of people will show up here":"Cokoli nasdíleného stejné skupině lidí se zobrazí zde","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny","Change title":"Změnit nadpis",Choose:"Zvolit","Clear text":"Čitelný text",Close:"Zavřít","Close modal":"Zavřít dialogové okno","Close navigation":"Zavřít navigaci","Close sidebar":"Zavřít postranní panel","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","Error getting related resources":"Chyba při získávání souvisejících prostředků","Error parsing svg":"Chyba při zpracovávání svg","External documentation for {title}":"Externí dokumentace k {title}",Favorite:"Oblíbené",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Hide password":"Skrýt heslo","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy","More items …":"Další položky…",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty",Open:"Otevřít",'Open link to "{resourceTitle}"':"Otevřít odkaz na „{resourceTitle}“","Open navigation":"Otevřít navigaci","Password is secure":"Heslo je bezpečné","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí","Related resources":"Související prostředky",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Show password":"Zobrazit heslo","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur","Anything shared with the same group of people will show up here":"Alt der deles med samme gruppe af personer vil vises her","Avatar of {displayName}":"Avatar af {displayName}","Avatar of {displayName}, {status}":"Avatar af {displayName}, {status}","Cancel changes":"Annuller ændringer","Change title":"Ret titel",Choose:"Vælg","Clear text":"Ryd tekst",Close:"Luk","Close modal":"Luk vindue","Close navigation":"Luk navigation","Close sidebar":"Luk sidepanel","Confirm changes":"Bekræft ændringer",Custom:"Brugerdefineret","Edit item":"Rediger emne","Error getting related resources":"Kunne ikke hente tilknyttede data","Error parsing svg":"Fejl ved analysering af svg","External documentation for {title}":"Ekstern dokumentation for {title}",Favorite:"Favorit",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt",Global:"Global","Go back to the list":"Tilbage til listen","Hide password":"Skjul kodeord","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået","More items …":"Mere ...",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter",Open:"Åbn",'Open link to "{resourceTitle}"':'Åbn link til "{resourceTitle}"',"Open navigation":"Åbn navigation","Password is secure":"Kodeordet er sikkert","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji","Please select a time zone:":"Vælg venligst en tidszone:",Previous:"Forrige","Related resources":"Relaterede emner",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Show password":"Vis kodeord","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Type to search time zone":"Indtast for at søge efter tidszone","Unable to search the group":"Kan ikke søge på denne gruppe","Undo changes":"Fortryd ændringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv besked, brug "@" for at nævne nogen, brug ":" til emoji-autofuldførelse ...'}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Anything shared with the same group of people will show up here":"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ","Avatar of {displayName}":"Άβαταρ του {displayName}","Avatar of {displayName}, {status}":"Άβαταρ του {displayName}, {status}","Cancel changes":"Ακύρωση αλλαγών","Change title":"Αλλαγή τίτλου",Choose:"Επιλογή","Clear text":"Εκκαθάριση κειμένου",Close:"Κλείσιμο","Close modal":"Βοηθητικό κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Close sidebar":"Κλείσιμο πλευρικής μπάρας","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","Error getting related resources":"Σφάλμα λήψης σχετικών πόρων","Error parsing svg":"Σφάλμα ανάλυσης svg","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Favorite:"Αγαπημένα",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Hide password":"Απόκρυψη κωδικού πρόσβασης","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος","More items …":"Περισσότερα στοιχεία …",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα",Open:"Άνοιγμα",'Open link to "{resourceTitle}"':'Άνοιγμα συνδέσμου στο "{resourceTitle}"',"Open navigation":"Άνοιγμα πλοήγησης","Password is secure":"Ο κωδικός πρόσβασης είναι ασφαλής","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο","Related resources":"Σχετικοί πόροι",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Show password":"Εμφάνιση κωδικού πρόσβασης","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε "@" για να αναφέρετε κάποιον, χρησιμοποιείστε ":" για αυτόματη συμπλήρωση emoji …'}},{locale:"en_GB",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Actions",Activities:"Activities","Animals & Nature":"Animals & Nature","Anything shared with the same group of people will show up here":"Anything shared with the same group of people will show up here","Avatar of {displayName}":"Avatar of {displayName}","Avatar of {displayName}, {status}":"Avatar of {displayName}, {status}","Cancel changes":"Cancel changes","Change title":"Change title",Choose:"Choose","Clear text":"Clear text",Close:"Close","Close modal":"Close modal","Close navigation":"Close navigation","Close sidebar":"Close sidebar","Confirm changes":"Confirm changes",Custom:"Custom","Edit item":"Edit item","Error getting related resources":"Error getting related resources","Error parsing svg":"Error parsing svg","External documentation for {title}":"External documentation for {title}",Favorite:"Favourite",Flags:"Flags","Food & Drink":"Food & Drink","Frequently used":"Frequently used",Global:"Global","Go back to the list":"Go back to the list","Hide password":"Hide password","Message limit of {count} characters reached":"Message limit of {count} characters reached","More items …":"More items …",Next:"Next","No emoji found":"No emoji found","No results":"No results",Objects:"Objects",Open:"Open",'Open link to "{resourceTitle}"':'Open link to "{resourceTitle}"',"Open navigation":"Open navigation","Password is secure":"Password is secure","Pause slideshow":"Pause slideshow","People & Body":"People & Body","Pick an emoji":"Pick an emoji","Please select a time zone:":"Please select a time zone:",Previous:"Previous","Related resources":"Related resources",Search:"Search","Search results":"Search results","Select a tag":"Select a tag",Settings:"Settings","Settings navigation":"Settings navigation","Show password":"Show password","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start slideshow",Submit:"Submit",Symbols:"Symbols","Travel & Places":"Travel & Places","Type to search time zone":"Type to search time zone","Unable to search the group":"Unable to search the group","Undo changes":"Undo changes",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Write message, use "@" to mention someone, use ":" for emoji autocompletion …'}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Anything shared with the same group of people will show up here":"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios","Change title":"Cambiar título",Choose:"Elegir","Clear text":"Limpiar texto",Close:"Cerrar","Close modal":"Cerrar modal","Close navigation":"Cerrar navegación","Close sidebar":"Cerrar barra lateral","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","Error getting related resources":"Se encontró un error al obtener los recursos relacionados","Error parsing svg":"Error procesando svg","External documentation for {title}":"Documentacion externa de {title}",Favorite:"Favorito",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Hide password":"Ocultar contraseña","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres","More items …":"Más ítems...",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos",Open:"Abrir",'Open link to "{resourceTitle}"':'Abrir enlace a "{resourceTitle}"',"Open navigation":"Abrir navegación","Password is secure":"La contraseña es segura","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Show password":"Mostrar contraseña","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escribir mensaje, utilice "@" para mencionar a alguien, utilice ":" para autocompletado de emojis ...'}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Anything shared with the same group of people will show up here":"Pertsona-talde berarekin partekatutako edozer agertuko da hemen","Avatar of {displayName}":"{displayName}-(e)n irudia","Avatar of {displayName}, {status}":"{displayName} -(e)n irudia, {status}","Cancel changes":"Ezeztatu aldaketak","Change title":"Aldatu titulua",Choose:"Aukeratu","Clear text":"Garbitu testua",Close:"Itxi","Close modal":"Itxi modala","Close navigation":"Itxi nabigazioa","Close sidebar":"Itxi albo-barra","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","Edit item":"Editatu elementua","Error getting related resources":"Errorea erlazionatutako baliabideak lortzerakoan","Error parsing svg":"Errore bat gertatu da svg-a analizatzean","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Favorite:"Gogokoa",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Hide password":"Ezkutatu pasahitza","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara","More items …":"Elementu gehiago …",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak",Open:"Ireki",'Open link to "{resourceTitle}"':'Ireki esteka: "{resourceTitle}"',"Open navigation":"Ireki nabigazioa","Password is secure":"Pasahitza segurua da","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Hautatu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa","Related resources":"Erlazionatutako baliabideak",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Show password":"Erakutsi pasahitza","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Undo changes":"Aldaketak desegin",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Idatzi mezua, erabili "@" norbait aipatzeko, erabili ":" emojiak automatikoki osatzeko...'}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone, : for emoji autocompletion …":"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…"}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Anything shared with the same group of people will show up here":"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications","Change title":"Modifier le titre",Choose:"Choisir","Clear text":"Effacer le texte",Close:"Fermer","Close modal":"Fermer la fenêtre","Close navigation":"Fermer la navigation","Close sidebar":"Fermer la barre latérale","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","Error getting related resources":"Erreur à la récupération des ressources liées","Error parsing svg":"Erreur d'analyse SVG","External documentation for {title}":"Documentation externe pour {title}",Favorite:"Favori",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Hide password":"Cacher le mot de passe","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte","More items …":"Plus d'éléments...",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets",Open:"Ouvrir",'Open link to "{resourceTitle}"':'Ouvrir le lien vers "{resourceTitle}"',"Open navigation":"Ouvrir la navigation","Password is secure":"Le mot de passe est sécurisé","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent","Related resources":"Ressources liées",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Show password":"Afficher le mot de passe","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Écrire un message, utiliser "@" pour mentionner une personne, ":" pour l\'autocomplétion des émojis...'}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Anything shared with the same group of people will show up here":"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni","Avatar of {displayName}":"{displayName} profilképe","Avatar of {displayName}, {status}":"{displayName} profilképe, {status}","Cancel changes":"Változtatások elvetése","Change title":"Cím megváltoztatása",Choose:"Válassszon","Clear text":"Szöveg törlése",Close:"Bezárás","Close modal":"Ablak bezárása","Close navigation":"Navigáció bezárása","Close sidebar":"Oldalsáv bezárása","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","Edit item":"Elem szerkesztése","Error getting related resources":"Hiba a kapcsolódó erőforrások lekérésekor","Error parsing svg":"Hiba az SVG feldolgozásakor","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Favorite:"Kedvenc",Flags:"Zászlók","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Go back to the list":"Ugrás vissza a listához","Hide password":"Jelszó elrejtése","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve","More items …":"További elemek...",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak",Open:"Megnyitás",'Open link to "{resourceTitle}"':"A(z) „{resourceTitle}” hivatkozásának megnyitása","Open navigation":"Navigáció megnyitása","Password is secure":"A jelszó biztonságos","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző","Related resources":"Kapcsolódó erőforrások",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Show password":"Jelszó megjelenítése","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Undo changes":"Változtatások visszavonása",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Anything shared with the same group of people will show up here":"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui","Avatar of {displayName}":"Avatar di {displayName}","Avatar of {displayName}, {status}":"Avatar di {displayName}, {status}","Cancel changes":"Annulla modifiche","Change title":"Modifica il titolo",Choose:"Scegli","Clear text":"Cancella il testo",Close:"Chiudi","Close modal":"Chiudi il messaggio modale","Close navigation":"Chiudi la navigazione","Close sidebar":"Chiudi la barra laterale","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","Edit item":"Modifica l'elemento","Error getting related resources":"Errore nell'ottenere risorse correlate","Error parsing svg":"Errore nell'analizzare l'svg","External documentation for {title}":"Documentazione esterna per {title}",Favorite:"Preferito",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente",Global:"Globale","Go back to the list":"Torna all'elenco","Hide password":"Nascondi la password","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto","More items …":"Più elementi ...",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti",Open:"Apri",'Open link to "{resourceTitle}"':'Apri il link a "{resourceTitle}"',"Open navigation":"Apri la navigazione","Password is secure":"La password è sicura","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji","Please select a time zone:":"Si prega di selezionare un fuso orario:",Previous:"Precedente","Related resources":"Risorse correlate",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Show password":"Mostra la password","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Type to search time zone":"Digita per cercare un fuso orario","Unable to search the group":"Impossibile cercare il gruppo","Undo changes":"Cancella i cambiamenti",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrivi un messaggio, "@" per menzionare qualcuno, ":" per il completamento automatico delle emoji ...'}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Anything shared with the same group of people will show up here":"同じグループで共有しているものは、全てここに表示されます","Avatar of {displayName}":"{displayName} のアバター","Avatar of {displayName}, {status}":"{displayName}, {status} のアバター","Cancel changes":"変更をキャンセル","Change title":"タイトルを変更",Choose:"選択","Clear text":"テキストをクリア",Close:"閉じる","Close modal":"モーダルを閉じる","Close navigation":"ナビゲーションを閉じる","Close sidebar":"サイドバーを閉じる","Confirm changes":"変更を承認",Custom:"カスタム","Edit item":"編集","Error getting related resources":"関連リソースの取得エラー","Error parsing svg":"svgの解析エラー","External documentation for {title}":"{title} のための添付文書",Favorite:"お気に入り",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Go back to the list":"リストに戻る","Hide password":"パスワードを非表示","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています","More items …":"他のアイテム",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物",Open:"開く",'Open link to "{resourceTitle}"':'"{resourceTitle}"のリンクを開く',"Open navigation":"ナビゲーションを開く","Password is secure":"パスワードは保護されています","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前","Related resources":"関連リソース",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Show password":"パスワードを表示","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Undo changes":"変更を取り消し",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'メッセージを記入、"@"でメンション、":"で絵文字の自動補完 ...'}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа","Avatar of {displayName}":"Аватар на {displayName}","Avatar of {displayName}, {status}":"Аватар на {displayName}, {status}","Cancel changes":"Откажи ги промените","Change title":"Промени наслов",Choose:"Избери",Close:"Затвори","Close modal":"Затвори модал","Close navigation":"Затвори навигација","Confirm changes":"Потврди ги промените",Custom:"Прилагодени","Edit item":"Уреди","External documentation for {title}":"Надворешна документација за {title}",Favorite:"Фаворити",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени",Global:"Глобално","Go back to the list":"Врати се на листата",items:"ставки","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато","More {dashboardItemType} …":"Повеќе {dashboardItemType} …",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти",Open:"Отвори","Open navigation":"Отвори навигација","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон","Please select a time zone:":"Изберете временска зона:",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Submit:"Испрати",Symbols:"Симболи","Travel & Places":"Патувања & Места","Type to search time zone":"Напишете за да пребарате временска зона","Unable to search the group":"Неможе да се принајде групата","Undo changes":"Врати ги промените","Write message, @ to mention someone, : for emoji autocompletion …":"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ..."}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Anything shared with the same group of people will show up here":"Alt som er delt med den samme gruppen vil vises her","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer","Change title":"Endre tittel",Choose:"Velg","Clear text":"Fjern tekst",Close:"Lukk","Close modal":"Lukk modal","Close navigation":"Lukk navigasjon","Close sidebar":"Lukk sidepanel","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","Error getting related resources":"Feil ved henting av relaterte ressurser","Error parsing svg":"Feil ved parsing av svg","External documentation for {title}":"Ekstern dokumentasjon for {title}",Favorite:"Favoritt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Hide password":"Skjul passord","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding","More items …":"Flere gjenstander...",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter",Open:"Åpne",'Open link to "{resourceTitle}"':'Åpne link til "{resourceTitle}"',"Open navigation":"Åpne navigasjon","Password is secure":"Passordet er sikkert","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige","Related resources":"Relaterte ressurser",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjonsinstillinger","Show password":"Vis passord","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Tast for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv melding, bruk "@" for å nevne noen, bruk ":" for autofullføring av emoji...'}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Anything shared with the same group of people will show up here":"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany","Change title":"Zmień tytuł",Choose:"Wybierz","Clear text":"Wyczyść tekst",Close:"Zamknij","Close modal":"Zamknij modal","Close navigation":"Zamknij nawigację","Close sidebar":"Zamknij pasek boczny","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","Error getting related resources":"Błąd podczas pobierania powiązanych zasobów","Error parsing svg":"Błąd podczas analizowania svg","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Favorite:"Ulubiony",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Hide password":"Ukryj hasło","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków","More items …":"Więcej pozycji…",Next:"Następny","No emoji found":"Nie znaleziono emoji","No results":"Brak wyników",Objects:"Obiekty",Open:"Otwórz",'Open link to "{resourceTitle}"':'Otwórz link do "{resourceTitle}"',"Open navigation":"Otwórz nawigację","Password is secure":"Hasło jest bezpieczne","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni","Related resources":"Powiązane zasoby",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Show password":"Pokaż hasło","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Napisz wiadomość, "@" aby o kimś wspomnieć, ":" dla autouzupełniania emoji…'}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Anything shared with the same group of people will show up here":"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações","Change title":"Alterar título",Choose:"Escolher","Clear text":"Limpar texto",Close:"Fechar","Close modal":"Fechar modal","Close navigation":"Fechar navegação","Close sidebar":"Fechar barra lateral","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","Error getting related resources":"Erro ao obter recursos relacionados","Error parsing svg":"Erro ao analisar svg","External documentation for {title}":"Documentação externa para {title}",Favorite:"Favorito",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Hide password":"Ocultar a senha","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido","More items …":"Mais itens …",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos",Open:"Aberto",'Open link to "{resourceTitle}"':'Abrir link para "{resourceTitle}"',"Open navigation":"Abrir navegação","Password is secure":"A senha é segura","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Show password":"Mostrar senha","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escreva mensagens, use "@" para mencionar algum, use ":" for autocompletar emoji …'}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ro",translations:{"{tag} (invisible)":"{tag} (invizibil)","{tag} (restricted)":"{tag} (restricționat)",Actions:"Acțiuni",Activities:"Activități","Animals & Nature":"Animale și natură","Anything shared with the same group of people will show up here":"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici","Avatar of {displayName}":"Avatarul lui {displayName}","Avatar of {displayName}, {status}":"Avatarul lui {displayName}, {status}","Cancel changes":"Anulează modificările","Change title":"Modificați titlul",Choose:"Alegeți","Clear text":"Șterge textul",Close:"Închideți","Close modal":"Închideți modulul","Close navigation":"Închideți navigarea","Close sidebar":"Închide bara laterală","Confirm changes":"Confirmați modificările",Custom:"Personalizat","Edit item":"Editați elementul","Error getting related resources":" Eroare la returnarea resurselor legate","Error parsing svg":"Eroare de analizare a svg","External documentation for {title}":"Documentație externă pentru {title}",Favorite:"Favorit",Flags:"Marcaje","Food & Drink":"Alimente și băuturi","Frequently used":"Utilizate frecvent",Global:"Global","Go back to the list":"Întoarceți-vă la listă","Hide password":"Ascunde parola","Message limit of {count} characters reached":"Limita mesajului de {count} caractere a fost atinsă","More items …":"Mai multe articole ...",Next:"Următorul","No emoji found":"Nu s-a găsit niciun emoji","No results":"Nu există rezultate",Objects:"Obiecte",Open:"Deschideți",'Open link to "{resourceTitle}"':'Deschide legătura la "{resourceTitle}"',"Open navigation":"Deschideți navigația","Password is secure":"Parola este sigură","Pause slideshow":"Pauză prezentare de diapozitive","People & Body":"Oameni și corp","Pick an emoji":"Alege un emoji","Please select a time zone:":"Vă rugăm să selectați un fus orar:",Previous:"Anterior","Related resources":"Resurse legate",Search:"Căutare","Search results":"Rezultatele căutării","Select a tag":"Selectați o etichetă",Settings:"Setări","Settings navigation":"Navigare setări","Show password":"Arată parola","Smileys & Emotion":"Zâmbete și emoții","Start slideshow":"Începeți prezentarea de diapozitive",Submit:"Trimiteți",Symbols:"Simboluri","Travel & Places":"Călătorii și locuri","Type to search time zone":"Tastați pentru a căuta fusul orar","Unable to search the group":"Imposibilitatea de a căuta în grup","Undo changes":"Anularea modificărilor",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrie un mesaj, folosește "@" pentru a menționa pe cineva, folosește ":" pentru autocompletarea cu emoji ...'}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Фотография {displayName}, {status}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Close modal":"Закрыть модальное окно","Close navigation":"Закрыть навигацию","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","Edit item":"Изменить элемент","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Go back to the list":"Вернуться к списку",items:"элементов","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}","More {dashboardItemType} …":"Больше {dashboardItemType} …",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты",Open:"Открыть","Open navigation":"Открыть навигацию","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Undo changes":"Отменить изменения","Write message, @ to mention someone, : for emoji autocompletion …":"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Avatar of {displayName}, {status}":"Avatar {displayName}, {status}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone, : for emoji autocompletion …":"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…"}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Avatar of {displayName}, {status}":"Prikazna slika {displayName}, {status}","Cancel changes":"Prekliči spremembe","Change title":"Spremeni naziv",Choose:"Izbor","Clear text":"Počisti besedilo",Close:"Zapri","Close modal":"Zapri pojavno okno","Close navigation":"Zapri krmarjenje","Close sidebar":"Zapri stransko vrstico","Confirm changes":"Potrdi spremembe",Custom:"Po meri","Edit item":"Uredi predmet","Error getting related resources":"Napaka pridobivanja povezanih virov","External documentation for {title}":"Zunanja dokumentacija za {title}",Favorite:"Priljubljeno",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Go back to the list":"Vrni se na seznam","Hide password":"Skrij geslo","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.","More items …":"Več predmetov ...",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti",Open:"Odpri",'Open link to "{resourceTitle}"':"Odpri povezavo do »{resourceTitle}«","Open navigation":"Odpri krmarjenje","Password is secure":"Geslo je varno","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick a date":"Izbor datuma","Pick a date and a time":"Izbor datuma in časa","Pick a month":"Izbor meseca","Pick a time":"Izbor časa","Pick a week":"Izbor tedna","Pick a year":"Izbor leta","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni","Related resources":"Povezani viri",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Show password":"Pokaži geslo","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Undo changes":"Razveljavi spremembe","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …"}},{locale:"sr",translations:{"{tag} (invisible)":"{tag} (nevidljivo)","{tag} (restricted)":"{tag} (ograničeno)",Actions:"Radnje",Activities:"Aktivnosti","Animals & Nature":"Životinje i Priroda","Avatar of {displayName}":"Avatar za {displayName}","Avatar of {displayName}, {status}":"Avatar za {displayName}, {status}","Cancel changes":"Otkaži izmene","Change title":"Izmeni naziv",Choose:"Изаберите",Close:"Затвори","Close modal":"Zatvori modal","Close navigation":"Zatvori navigaciju","Close sidebar":"Zatvori bočnu traku","Confirm changes":"Potvrdite promene",Custom:"Po meri","Edit item":"Uredi stavku","External documentation for {title}":"Eksterna dokumentacija za {title}",Favorite:"Omiljeni",Flags:"Zastave","Food & Drink":"Hrana i Piće","Frequently used":"Često korišćeno",Global:"Globalno","Go back to the list":"Natrag na listu",items:"stavke","Message limit of {count} characters reached":"Dostignuto je ograničenje za poruke od {count} znakova","More {dashboardItemType} …":"Više {dashboardItemType} …",Next:"Следеће","No emoji found":"Nije pronađen nijedan emodži","No results":"Нема резултата",Objects:"Objekti",Open:"Otvori","Open navigation":"Otvori navigaciju","Pause slideshow":"Паузирај слајд шоу","People & Body":"Ljudi i Telo","Pick an emoji":"Izaberi emodži","Please select a time zone:":"Molimo izaberite vremensku zonu:",Previous:"Претходно",Search:"Pretraži","Search results":"Rezultati pretrage","Select a tag":"Изаберите ознаку",Settings:"Поставке","Settings navigation":"Navigacija u podešavanjima","Smileys & Emotion":"Smajli i Emocije","Start slideshow":"Покрени слајд шоу",Submit:"Prihvati",Symbols:"Simboli","Travel & Places":"Putovanja i Mesta","Type to search time zone":"Ukucaj da pretražiš vremenske zone","Unable to search the group":"Nije moguće pretražiti grupu","Undo changes":"Poništi promene","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…"}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Anything shared with the same group of people will show up here":"Något som delats med samma grupp av personer kommer att visas här","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar","Change title":"Ändra titel",Choose:"Välj","Clear text":"Ta bort text",Close:"Stäng","Close modal":"Stäng modal","Close navigation":"Stäng navigering","Close sidebar":"Stäng sidopanel","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","Error getting related resources":"Problem att hämta relaterade resurser","Error parsing svg":"Fel vid inläsning av svg","External documentation for {title}":"Extern dokumentation för {title}",Favorite:"Favorit",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Hide password":"Göm lössenordet","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används","More items …":"Fler objekt",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt",Open:"Öppna",'Open link to "{resourceTitle}"':'Öppna länk till "{resourceTitle}"',"Open navigation":"Öppna navigering","Password is secure":"Lössenordet är säkert","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående","Related resources":"Relaterade resurser",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Show password":"Visa lössenordet","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv meddelande, använd "@" för att nämna någon, använd ":" för automatiska emojiförslag ...'}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Anything shared with the same group of people will show up here":"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et","Change title":"Başlığı değiştir",Choose:"Seçin","Clear text":"Metni temizle",Close:"Kapat","Close modal":"Üste açılan pencereyi kapat","Close navigation":"Gezinmeyi kapat","Close sidebar":"Yan çubuğu kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","Error getting related resources":"İlgili kaynaklar alınırken sorun çıktı","Error parsing svg":"svg işlenirken sorun çıktı","External documentation for {title}":"{title} için dış belgeler",Favorite:"Sık kullanılanlara ekle",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Hide password":"Parolayı gizle","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı","More items …":"Diğer ögeler…",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler",Open:"Aç",'Open link to "{resourceTitle}"':'"{resourceTitle}" bağlantısını aç',"Open navigation":"Gezinmeyi aç","Password is secure":"Parola güvenli","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki","Related resources":"İlgili kaynaklar",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Show password":"Parolayı görüntüle","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için ":" kullanın…'}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (невидимий)","{tag} (restricted)":"{tag} (обмежений)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Аватар {displayName}, {status}","Cancel changes":"Скасувати зміни","Change title":"Змінити назву",Choose:"ВиберітьВиберіть","Clear text":"Очистити текст",Close:"Закрити","Close modal":"Закрити модаль","Close navigation":"Закрити навігацію","Close sidebar":"Закрити бічну панель","Confirm changes":"Підтвердити зміни",Custom:"Власне","Edit item":"Редагувати елемент","External documentation for {title}":"Зовнішня документація для {title}",Favorite:"Улюблений",Flags:"Прапори","Food & Drink":"Їжа та напої","Frequently used":"Найчастіші",Global:"Глобальний","Go back to the list":"Повернутися до списку","Hide password":"Приховати пароль",items:"елементи","Message limit of {count} characters reached":"Вичерпано ліміт у {count} символів для повідомлення","More {dashboardItemType} …":"Більше {dashboardItemType}…",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти",Open:"Відкрити","Open navigation":"Відкрити навігацію","Password is secure":"Пароль безпечний","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку","Please select a time zone:":"Виберіть часовий пояс:",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Settings navigation":"Навігація у налаштуваннях","Show password":"Показати пароль","Smileys & Emotion":"Смайли та емоції","Start slideshow":"Почати показ слайдів",Submit:"Надіслати",Symbols:"Символи","Travel & Places":"Поїздки та місця","Type to search time zone":"Введіть для пошуку часовий пояс","Unable to search the group":"Неможливо шукати в групі","Undo changes":"Скасувати зміни","Write message, @ to mention someone, : for emoji autocompletion …":"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Anything shared with the same group of people will show up here":"与同组用户分享的所有内容都会显示于此","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改","Change title":"更改标题",Choose:"选择","Clear text":"清除文本",Close:"关闭","Close modal":"关闭窗口","Close navigation":"关闭导航","Close sidebar":"关闭侧边栏","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","Error getting related resources":"获取相关资源时出错","Error parsing svg":"解析 svg 时出错","External documentation for {title}":"{title}的外部文档",Favorite:"喜爱",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Hide password":"隐藏密码","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制","More items …":"更多项目…",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体",Open:"打开",'Open link to "{resourceTitle}"':'打开"{resourceTitle}"的连接',"Open navigation":"开启导航","Password is secure":"密码安全","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个","Related resources":"相关资源",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Show password":"显示密码","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'写信息,使用"@"来提及某人,使用":"进行表情符号自动完成 ...'}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Anything shared with the same group of people will show up here":"與同一組人共享的任何內容都會顯示在此處","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName} 的頭像,{status}","Cancel changes":"取消更改","Change title":"更改標題",Choose:"選擇","Clear text":"清除文本",Close:"關閉","Close modal":"關閉模態","Close navigation":"關閉導航","Close sidebar":"關閉側邊欄","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","Error getting related resources":"獲取相關資源出錯","Error parsing svg":"解析 svg 時出錯","External documentation for {title}":"{title} 的外部文檔",Favorite:"喜愛",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Hide password":"隱藏密碼","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制","More items …":"更多項目 …",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件",Open:"打開",'Open link to "{resourceTitle}"':"打開指向 “{resourceTitle}” 的鏈結","Open navigation":"開啟導航","Password is secure":"密碼是安全的","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個","Related resources":"相關資源",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Show password":"顯示密碼","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'寫訊息,使用 "@" 來指代某人,使用 ":" 用於表情符號自動填充 ...'}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((e=>{const t={};for(const n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};a.addTranslation(e.locale,{translations:{"":t}})}));const r=a.build(),s=(r.ngettext.bind(r),r.gettext.bind(r))},6730:()=>{},3351:(e,t,a)=>{"use strict";a.d(t,{iQ:()=>u}),a(6730),a(8136),a(334),a(3132);var r=a(3607),s=a(768),o=a.n(s);const i=n(42515);var l=a(4262);const u={data:()=>({hasStatus:!1,userStatus:{status:null,message:null,icon:null}}),methods:{async fetchUserStatus(e){if(!e)return;const t=(0,i.getCapabilities)();if(Object.prototype.hasOwnProperty.call(t,"user_status")&&t.user_status.enabled&&(0,r.getCurrentUser)())try{const{data:t}=await o().get((0,l.generateOcsUrl)("apps/user_status/api/v1/statuses/{userId}",{userId:e})),{status:n,message:a,icon:r}=t.ocs.data;this.userStatus.status=n,this.userStatus.message=a||"",this.userStatus.icon=r||"",this.hasStatus=!0}catch(e){var n,a;if(404===e.response.status&&0===(null===(n=e.response.data.ocs)||void 0===n||null===(a=n.data)||void 0===a?void 0:a.length))return;console.error(e)}}}}},8136:()=>{},334:(e,t,n)=>{"use strict";var a=n(2734);new(n.n(a)())({data:()=>({isMobile:!1}),watch:{isMobile(e){this.$emit("changed",e)}},created(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize(){this.isMobile=document.documentElement.clientWidth<1024}}})},3132:(e,t,a)=>{"use strict";a(4470),a(1390),n(95573),n(43726),a(2734);const r="(?:^|\\s)",s="(?:[^a-z]|$)";new RegExp("".concat(r,"(@[a-zA-Z0-9_.@\\-']+)(").concat(s,")"),"gi"),new RegExp("".concat(r,"(@"[a-zA-Z0-9 _.@\\-']+")(").concat(s,")"),"gi")},6609:(e,t,n)=>{"use strict";function a(e,t,n){this.r=e,this.g=t,this.b=n}function r(e,t,n){const r=[];r.push(t);const s=function(e,t){const n=new Array(3);return n[0]=(t[1].r-t[0].r)/e,n[1]=(t[1].g-t[0].g)/e,n[2]=(t[1].b-t[0].b)/e,n}(e,[t,n]);for(let n=1;ns});const s=function(e){e||(e=6);const t=new a(182,70,157),n=new a(221,203,85),s=new a(0,130,201),o=r(e,t,n),i=r(e,n,s),l=r(e,s,t);return o.concat(i).concat(l)}},1390:(e,t,a)=>{"use strict";a.d(t,{Z:()=>o});const r=n(50337);var s=a.n(r);const o=e=>s()(e,{defaultProtocol:"https",target:"_blank",className:"external linkified",attributes:{rel:"nofollow noopener noreferrer"}})},1206:(e,t,n)=>{"use strict";n.d(t,{L:()=>a}),n(4505);const a=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},4343:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s),i=n(1667),l=n.n(i),u=new URL(n(3423),n.b),c=new URL(n(2605),n.b),d=new URL(n(7127),n.b),m=o()(r()),p=l()(u),h=l()(c),g=l()(d);m.push([e.id,".material-design-icon[data-v-b1ea54bc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-b1ea54bc]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-b1ea54bc]{position:relative;background-color:var(--color-main-background);white-space:normal}.avatardiv[data-v-b1ea54bc]:not(.avatardiv--unknown){background-color:var(--color-main-background) !important;box-shadow:0 0 5px rgba(0,0,0,.05) inset}.avatardiv--with-menu[data-v-b1ea54bc]{cursor:pointer}.avatardiv--with-menu[data-v-b1ea54bc] .v-popper{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-b1ea54bc]{cursor:pointer;opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-b1ea54bc],.avatardiv--with-menu:hover .icon-more[data-v-b1ea54bc]{opacity:1}.avatardiv--with-menu:focus img[data-v-b1ea54bc],.avatardiv--with-menu:hover img[data-v-b1ea54bc]{opacity:.3}.avatardiv--with-menu .icon-more[data-v-b1ea54bc],.avatardiv--with-menu img[data-v-b1ea54bc]{transition:opacity var(--animation-quick)}.avatardiv .avatardiv__initials-wrapper[data-v-b1ea54bc]{height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:50%}.avatardiv .avatardiv__initials-wrapper .unknown[data-v-b1ea54bc]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal}.avatardiv img[data-v-b1ea54bc]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-b1ea54bc]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-b1ea54bc]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;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-b1ea54bc]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-b1ea54bc]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--online[data-v-b1ea54bc]{background-image:url("+p+")}.avatardiv .avatardiv__user-status--dnd[data-v-b1ea54bc]{background-image:url("+h+");background-color:#fff}.avatardiv .avatardiv__user-status--away[data-v-b1ea54bc]{background-image:url("+g+")}.avatardiv .avatardiv__user-status--icon[data-v-b1ea54bc]{border:none;background-color:rgba(0,0,0,0)}.avatardiv .popovermenu-wrapper[data-v-b1ea54bc]{position:relative;display:inline-block}.avatar-class-icon[data-v-b1ea54bc]{border-radius:50%;background-color:var(--color-background-darker);height:100%}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAvatar/NcAvatar.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4BACC,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,qCACC,iBAAA,CACA,6CAAA,CACA,kBAAA,CAGD,qDAEC,wDAAA,CACA,wCAAA,CAGD,uCACC,cAAA,CACA,iDACC,iBAAA,CACA,KAAA,CACA,MAAA,CAED,kDACC,cAAA,CACA,SAAA,CAIA,gHACC,SAAA,CAED,kGACC,UAAA,CAGF,6FAEC,yCAAA,CAIF,yDACC,kBAAA,CACA,iBAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kEACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CAIF,gCAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CAGD,kDACC,iBAAA,CACA,kBAAA,CAGD,oDACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,SAAA,CACA,gBAAA,CACA,kCAAA,CACA,6CAAA,CACA,6CAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,gEACC,0CAAA,CACA,8CAAA,CAED,iEACC,+CAAA,CACA,mDAAA,CAGD,4DACC,wDAAA,CAED,yDACC,wDAAA,CACA,qBAAA,CAED,0DACC,wDAAA,CAED,0DACC,WAAA,CACA,8BAAA,CAIF,iDACC,iBAAA,CACA,oBAAA,CAIF,oCACC,iBAAA,CACA,+CAAA,CACA,WAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-main-background);\n\t\twhite-space: normal;\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White/black background for avatars with transparency\n\t\tbackground-color: var(--color-main-background) !important;\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t:deep(.v-popper) {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more {\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t.avatardiv__initials-wrapper {\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.unknown {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.material-design-icon {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tmax-height: 18px;\n\t\tmax-width: 18px;\n\t\theight: 40%;\n\t\twidth: 40%;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n"],sourceRoot:""}]);const f=m},5030:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon[data-v-c4a9cada]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-c4a9cada]{animation:rotate var(--animation-duration, 0.8s) linear infinite}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcLoadingIcon/NcLoadingIcon.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,gEAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n.loading-icon svg{\n\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\n}\n"],sourceRoot:""}]);const i=o},1625:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius-large);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopover/NcPopover.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,wCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const i=o},2:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon[data-v-31ffd2d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-31ffd2d4]{display:flex;flex-direction:column;gap:4px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopoverMenu/NcPopoverMenu.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,qBAAA,CACA,OAAA",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 4px;\n}\n"],sourceRoot:""}]);const i=o},408:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,'.material-design-icon[data-v-127b0c62]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-127b0c62]{display:flex;flex:0 0 auto}li.hidden[data-v-127b0c62]{display:none}li>button[data-v-127b0c62],li>a[data-v-127b0c62],li>.menuitem[data-v-127b0c62]{cursor:pointer;line-height:44px;border:0;background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=" icon-"][data-v-127b0c62],li>button[class^=icon-][data-v-127b0c62],li>button[class*=" icon-"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=" icon-"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=" icon-"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=" icon-"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=" icon-"][data-v-127b0c62]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=" icon-"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=" icon-"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=" icon-"][data-v-127b0c62]{padding:22px 0 22px 44px}li>button:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child{margin-left:44px}li>button[class^=icon-][data-v-127b0c62],li>button[class*=" icon-"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=" icon-"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=" icon-"][data-v-127b0c62]{padding:0 14px 0 44px}li>button[data-v-127b0c62]:not(:disabled):hover,li>button[data-v-127b0c62]:not(:disabled):focus,li>button:not(:disabled).active[data-v-127b0c62],li>a[data-v-127b0c62]:not(:disabled):hover,li>a[data-v-127b0c62]:not(:disabled):focus,li>a:not(:disabled).active[data-v-127b0c62],li>.menuitem[data-v-127b0c62]:not(:disabled):hover,li>.menuitem[data-v-127b0c62]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-127b0c62]{opacity:1 !important}li>button.action[data-v-127b0c62],li>a.action[data-v-127b0c62],li>.menuitem.action[data-v-127b0c62]{padding:inherit !important}li>button>span[data-v-127b0c62],li>a>span[data-v-127b0c62],li>.menuitem>span[data-v-127b0c62]{cursor:pointer;white-space:nowrap}li>button>p[data-v-127b0c62],li>a>p[data-v-127b0c62],li>.menuitem>p[data-v-127b0c62]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-127b0c62],li>a>select[data-v-127b0c62],li>.menuitem>select[data-v-127b0c62]{margin:0;margin-left:6px}li>button[data-v-127b0c62]:not(:empty),li>a[data-v-127b0c62]:not(:empty),li>.menuitem[data-v-127b0c62]:not(:empty){padding-right:14px !important}li>button>img[data-v-127b0c62],li>a>img[data-v-127b0c62],li>.menuitem>img[data-v-127b0c62]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-127b0c62],li>button>input.checkbox+label[data-v-127b0c62],li>a>input.radio+label[data-v-127b0c62],li>a>input.checkbox+label[data-v-127b0c62],li>.menuitem>input.radio+label[data-v-127b0c62],li>.menuitem>input.checkbox+label[data-v-127b0c62]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-127b0c62]::before,li>a>input.checkbox+label[data-v-127b0c62]::before,li>.menuitem>input.checkbox+label[data-v-127b0c62]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-127b0c62]::before,li>a>input.radio+label[data-v-127b0c62]::before,li>.menuitem>input.radio+label[data-v-127b0c62]::before{margin:-2px 12px 0}li>button>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-127b0c62],li>a form[data-v-127b0c62],li>.menuitem form[data-v-127b0c62]{display:flex;flex:1 1 auto}li>button form[data-v-127b0c62]:not(:first-child),li>a form[data-v-127b0c62]:not(:first-child),li>.menuitem form[data-v-127b0c62]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-127b0c62],li>button>span[style*="display:none"]+form[data-v-127b0c62],li>a>span.hidden+form[data-v-127b0c62],li>a>span[style*="display:none"]+form[data-v-127b0c62],li>.menuitem>span.hidden+form[data-v-127b0c62],li>.menuitem>span[style*="display:none"]+form[data-v-127b0c62]{margin-left:0}li>button input[data-v-127b0c62],li>a input[data-v-127b0c62],li>.menuitem input[data-v-127b0c62]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-127b0c62]:not(:first-child),li>a input[data-v-127b0c62]:not(:first-child),li>.menuitem input[data-v-127b0c62]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*="display:none"]):first-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input[data-v-127b0c62]{margin-top:12px}li:not(.hidden):not([style*="display:none"]):last-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input[data-v-127b0c62]{margin-bottom:12px}li>button[data-v-127b0c62]{padding:0}li>button span[data-v-127b0c62]{opacity:1}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,aAAA,CAEA,2BACC,YAAA,CAGD,+EAGC,cAAA,CACA,gBCWe,CDVf,QAAA,CACA,8BAAA,CACA,YAAA,CACA,sBAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBAAA,CACA,eAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,UCgBe,CDbf,ohBAIC,WAAA,CACA,YAAA,CACA,+BAAA,CACA,oBCRS,CDWV,yRAIC,wBAAA,CAQC,ylCACC,gBC5BY,CDiCf,2PAEC,qBAAA,CAGD,6aAGC,oBAAA,CAID,oGACC,0BAAA,CAGD,8FACC,cAAA,CACA,kBAAA,CAID,qFACC,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CAGA,eAAA,CACA,sBAAA,CAID,oGACC,QAAA,CACA,eAAA,CAID,mHACC,6BAAA,CAKD,2FACC,UC5ES,CD6ET,WC7ES,CD8ET,WC1EW,CD8EZ,mRAEC,oBAAA,CACA,UAAA,CAED,sKACC,kBAAA,CAED,6JACC,kBAAA,CAED,4QACC,WAAA,CAID,8FACC,YAAA,CACA,aAAA,CAGA,oJACC,eAAA,CAIF,oTAEC,aAAA,CAGD,iGACC,cCtHc,CDuHd,eAAA,CACA,YAAA,CACA,aAAA,CAEA,uJACC,eAAA,CAUA,+gBACC,eAAA,CAMD,ygBACC,kBAAA,CAKJ,2BACC,SAAA,CACA,gCACC,SCnIY",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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\n\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const i=o},5594:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,".material-design-icon[data-v-8a961b36]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-8a961b36]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-8a961b36]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-8a961b36]{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-8a961b36]{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-8a961b36]{color:inherit;background-size:cover}.mention-bubble__title[data-v-8a961b36]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-8a961b36]::before{content:attr(title)}.mention-bubble__select[data-v-8a961b36]{position:absolute;z-index:-1;left:-1000px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,uCAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,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","@use 'sass:math'; $scope_version:\"18ada6c\"; @import 'variables'; @import 'material-icons';\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-element-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: math.div($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: math.div($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(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n"],sourceRoot:""}]);const i=o},8369:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7537),r=n.n(a),s=n(3645),o=n.n(s)()(r());o.push([e.id,"\nbutton.menuitem[data-v-127b0c62] {\n\tborder-radius: var(--border-radius-large) !important;\n\ttext-align: left;\n}\nbutton.menuitem *[data-v-127b0c62] {\n\tcursor: pointer;\n}\nbutton.menuitem[data-v-127b0c62]:disabled {\n\topacity: 0.5 !important;\n\tcursor: default;\n}\nbutton.menuitem:disabled *[data-v-127b0c62] {\n\tcursor: default;\n}\n.menuitem.active[data-v-127b0c62] {\n\tborder-left: 4px solid var(--color-primary-element);\n\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\n}\n","",{version:3,sources:["webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue"],names:[],mappings:";AAgYA;CACA,oDAAA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,mDAAA;CACA,mFAAA;AACA",sourcesContent:['\x3c!--\n - @copyright Copyright (c) 2018 John Molakvoæ \n -\n - @author John Molakvoæ \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 program. If not, see .\n -\n --\x3e\n\n\n\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n standalone:\n 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","/*!\n * Toastify js 1.12.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n(function(root, factory) {\n if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Toastify = factory();\n }\n})(this, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n },\n // Library version\n version = \"1.12.0\";\n\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function () {\n },\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: '',\n backgroundColor: '',\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function () {\n },\n offset: {x: 0, y: 0},\n escapeMarkup: true,\n ariaLive: 'polite',\n style: {background: ''}\n };\n\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n\n constructor: Toastify,\n\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) {\n options = {};\n }\n\n // Creating the options object\n this.options = {};\n\n this.toastElement = null;\n\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.ariaLive = options.ariaLive || Toastify.defaults.ariaLive;\n this.options.style = options.style || Toastify.defaults.style;\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n\n // Returning the current object for chaining functions\n return this;\n },\n\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n\n // Positioning toast to left or right or center\n if (!!this.options.position) {\n divElement.className += \" toastify-\" + this.options.position;\n } else {\n // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.')\n } else {\n // Default position\n divElement.className += \" toastify-right\";\n }\n }\n\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n // Loop through our style object and apply styles to divElement\n for (var property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Announce the toast to screen readers\n if (this.options.ariaLive) {\n divElement.setAttribute('aria-live', this.options.ariaLive)\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\" || this.options.positionLeft === true) {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"button\");\n closeElement.type = \"button\";\n closeElement.setAttribute(\"aria-label\", \"Close\");\n closeElement.className = \"toast-close\";\n closeElement.innerHTML = \"✖\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }.bind(this)\n );\n\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n function(event) {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n function() {\n divElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n },\n self.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }.bind(this)\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.options.onClick();\n }.bind(this)\n );\n }\n\n // Adding offset\n if(typeof this.options.offset === \"object\") {\n\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n\n }\n\n // Returning the generated element\n return divElement;\n },\n\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") {\n rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {\n rootElement = this.options.selector;\n } else {\n rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }.bind(this),\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n },\n\n hideToast: function() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this.removeElement(this.toastElement);\n },\n\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n Toastify.reposition();\n }.bind(this),\n 400\n ); // Binding `this` for function invocation\n },\n };\n\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n\n var classUsed;\n\n // Modifying the position of each toast element\n for (var i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length-1)\n // Spacing between toasts\n var offset = 15;\n\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n\n // Supporting function chaining\n return this;\n };\n\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n\n if(options.offset[axis]) {\n if(isNaN(options.offset[axis])) {\n return options.offset[axis];\n }\n else {\n return options.offset[axis] + 'px';\n }\n }\n\n return '0px';\n\n }\n\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") {\n return false;\n } else if (\n elem.className &&\n elem.className\n .trim()\n .split(/\\s+/gi)\n .indexOf(yourClass) > -1\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{ 'icon-loading': _vm.loading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"user-data\":_vm.userData,\"editor\":true,\"ressource-id\":_vm.fileInfo.id},on:{\"new\":_vm.getActivities}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(_vm.error)?_c('NcEmptyContent',{attrs:{\"title\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('span',{staticClass:\"icon-error\"})]},proxy:true}],null,false,3191801335)}):[_c('ul',_vm._l((_vm.activities),function(activity){return _c('Activity',{key:activity.id,attrs:{\"activity\":activity}})}),1),_vm._v(\" \"),(_vm.activities.length === 0 && !_vm.loading)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('activity', 'No activity yet')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('span',{staticClass:\"icon-activity\"})]},proxy:true}],null,false,999709570)}):_vm._e()]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else {\n requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.4.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import Axios from 'axios';\nimport { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth';\nimport { generateUrl } from '@nextcloud/router';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar RETRY_KEY = Symbol('csrf-retry');\nvar onError$2 = function (axios) { return function (error) { return __awaiter(void 0, void 0, void 0, function () {\n var config, response, request, responseURL, status, token;\n var _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n config = error.config, response = error.response, request = error.request;\n responseURL = request === null || request === void 0 ? void 0 : request.responseURL;\n status = response === null || response === void 0 ? void 0 : response.status;\n if (!(status === 412\n && ((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.message) === 'CSRF check failed'\n && config[RETRY_KEY] === undefined)) return [3 /*break*/, 2];\n console.warn(\"Request to \".concat(responseURL, \" failed because of a CSRF mismatch. Fetching a new token\"));\n return [4 /*yield*/, axios.get(generateUrl('/csrftoken'))];\n case 1:\n token = (_c.sent()).data.token;\n console.debug(\"New request token \".concat(token, \" fetched\"));\n axios.defaults.headers.requesttoken = token;\n return [2 /*return*/, axios(__assign(__assign({}, config), (_a = { headers: __assign(__assign({}, config.headers), { requesttoken: token }) }, _a[RETRY_KEY] = true, _a)))];\n case 2: return [2 /*return*/, Promise.reject(error)];\n }\n });\n}); }; };\n\nvar RETRY_DELAY_KEY = Symbol('retryDelay');\nvar onError$1 = function (axios) { return function (error) { return __awaiter(void 0, void 0, void 0, function () {\n var config, response, request, responseURL, status, headers, retryDelay_1;\n var _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n config = error.config, response = error.response, request = error.request;\n responseURL = request === null || request === void 0 ? void 0 : request.responseURL;\n status = response === null || response === void 0 ? void 0 : response.status;\n headers = response === null || response === void 0 ? void 0 : response.headers;\n if (!(status === 503\n && headers['x-nextcloud-maintenance-mode'] === '1'\n && config.retryIfMaintenanceMode\n && (!config[RETRY_DELAY_KEY] || config[RETRY_DELAY_KEY] <= 32))) return [3 /*break*/, 2];\n retryDelay_1 = ((_b = config[RETRY_DELAY_KEY]) !== null && _b !== void 0 ? _b : 1) * 2;\n console.warn(\"Request to \".concat(responseURL, \" failed because of maintenance mode. Retrying in \").concat(retryDelay_1, \"s\"));\n return [4 /*yield*/, new Promise(function (resolve) {\n setTimeout(resolve, retryDelay_1 * 1000);\n })];\n case 1:\n _c.sent();\n return [2 /*return*/, axios(__assign(__assign({}, config), (_a = {}, _a[RETRY_DELAY_KEY] = retryDelay_1, _a)))];\n case 2: return [2 /*return*/, Promise.reject(error)];\n }\n });\n}); }; };\n\nvar onError = function (error) { return __awaiter(void 0, void 0, void 0, function () {\n var config, response, request, responseURL, status;\n var _a;\n return __generator(this, function (_b) {\n config = error.config, response = error.response, request = error.request;\n responseURL = request === null || request === void 0 ? void 0 : request.responseURL;\n status = response === null || response === void 0 ? void 0 : response.status;\n if (status === 401\n && ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) === 'Current user is not logged in'\n && config.reloadExpiredSession\n && (window === null || window === void 0 ? void 0 : window.location)) {\n console.error(\"Request to \".concat(responseURL, \" failed because the user session expired. Reloading the page \\u2026\"));\n window.location.reload();\n }\n return [2 /*return*/, Promise.reject(error)];\n });\n}); };\n\nvar _a;\nvar client = Axios.create({\n headers: {\n requesttoken: (_a = getRequestToken()) !== null && _a !== void 0 ? _a : '',\n },\n});\nvar cancelableClient = Object.assign(client, {\n CancelToken: Axios.CancelToken,\n isCancel: Axios.isCancel,\n});\ncancelableClient.interceptors.response.use(function (r) { return r; }, onError$2(cancelableClient));\ncancelableClient.interceptors.response.use(function (r) { return r; }, onError$1(cancelableClient));\ncancelableClient.interceptors.response.use(function (r) { return r; }, onError);\nonRequestTokenUpdate(function (token) { client.defaults.headers.requesttoken = token; });\n\nexport { cancelableClient as default };\n//# sourceMappingURL=index.es.mjs.map\n","import axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nfunction bail(error) {\n if (error) {\n throw error;\n }\n}\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nvar isBuffer$1 = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === \"function\" && obj.constructor.isBuffer(obj);\n};\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar isArray = function isArray2(arr) {\n if (typeof Array.isArray === \"function\") {\n return Array.isArray(arr);\n }\n return toStr.call(arr) === \"[object Array]\";\n};\nvar isPlainObject$1 = function isPlainObject(obj) {\n if (!obj || toStr.call(obj) !== \"[object Object]\") {\n return false;\n }\n var hasOwnConstructor = hasOwn.call(obj, \"constructor\");\n var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, \"isPrototypeOf\");\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n }\n var key;\n for (key in obj) {\n }\n return typeof key === \"undefined\" || hasOwn.call(obj, key);\n};\nvar setProperty = function setProperty2(target, options) {\n if (defineProperty && options.name === \"__proto__\") {\n defineProperty(target, options.name, {\n enumerable: true,\n configurable: true,\n value: options.newValue,\n writable: true\n });\n } else {\n target[options.name] = options.newValue;\n }\n};\nvar getProperty = function getProperty2(obj, name) {\n if (name === \"__proto__\") {\n if (!hasOwn.call(obj, name)) {\n return void 0;\n } else if (gOPD) {\n return gOPD(obj, name).value;\n }\n }\n return obj[name];\n};\nvar extend = function extend2() {\n var options, name, src, copy, copyIsArray, clone;\n var target = arguments[0];\n var i = 1;\n var length = arguments.length;\n var deep = false;\n if (typeof target === \"boolean\") {\n deep = target;\n target = arguments[1] || {};\n i = 2;\n }\n if (target == null || typeof target !== \"object\" && typeof target !== \"function\") {\n target = {};\n }\n for (; i < length; ++i) {\n options = arguments[i];\n if (options != null) {\n for (name in options) {\n src = getProperty(target, name);\n copy = getProperty(options, name);\n if (target !== copy) {\n if (deep && copy && (isPlainObject$1(copy) || (copyIsArray = isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject$1(src) ? src : {};\n }\n setProperty(target, { name, newValue: extend2(deep, clone, copy) });\n } else if (typeof copy !== \"undefined\") {\n setProperty(target, { name, newValue: copy });\n }\n }\n }\n }\n }\n return target;\n};\nfunction isPlainObject2(value) {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\nfunction trough() {\n const fns = [];\n const pipeline = { run, use };\n return pipeline;\n function run(...values) {\n let middlewareIndex = -1;\n const callback = values.pop();\n if (typeof callback !== \"function\") {\n throw new TypeError(\"Expected function as last argument, not \" + callback);\n }\n next(null, ...values);\n function next(error, ...output) {\n const fn = fns[++middlewareIndex];\n let index2 = -1;\n if (error) {\n callback(error);\n return;\n }\n while (++index2 < values.length) {\n if (output[index2] === null || output[index2] === void 0) {\n output[index2] = values[index2];\n }\n }\n values = output;\n if (fn) {\n wrap$1(fn, next)(...output);\n } else {\n callback(null, ...output);\n }\n }\n }\n function use(middelware) {\n if (typeof middelware !== \"function\") {\n throw new TypeError(\n \"Expected `middelware` to be a function, not \" + middelware\n );\n }\n fns.push(middelware);\n return pipeline;\n }\n}\nfunction wrap$1(middleware, callback) {\n let called;\n return wrapped;\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length;\n let result;\n if (fnExpectsCallback) {\n parameters.push(done);\n }\n try {\n result = middleware.apply(this, parameters);\n } catch (error) {\n const exception = error;\n if (fnExpectsCallback && called) {\n throw exception;\n }\n return done(exception);\n }\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done);\n } else if (result instanceof Error) {\n done(result);\n } else {\n then(result);\n }\n }\n }\n function done(error, ...output) {\n if (!called) {\n called = true;\n callback(error, ...output);\n }\n }\n function then(value) {\n done(null, value);\n }\n}\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nvar isBuffer2 = function isBuffer3(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === \"function\" && obj.constructor.isBuffer(obj);\n};\nfunction stringifyPosition(value) {\n if (!value || typeof value !== \"object\") {\n return \"\";\n }\n if (\"position\" in value || \"type\" in value) {\n return position(value.position);\n }\n if (\"start\" in value || \"end\" in value) {\n return position(value);\n }\n if (\"line\" in value || \"column\" in value) {\n return point$1(value);\n }\n return \"\";\n}\nfunction point$1(point2) {\n return index(point2 && point2.line) + \":\" + index(point2 && point2.column);\n}\nfunction position(pos) {\n return point$1(pos && pos.start) + \"-\" + point$1(pos && pos.end);\n}\nfunction index(value) {\n return value && typeof value === \"number\" ? value : 1;\n}\nclass VFileMessage extends Error {\n constructor(reason, place, origin) {\n const parts = [null, null];\n let position2 = {\n start: { line: null, column: null },\n end: { line: null, column: null }\n };\n super();\n if (typeof place === \"string\") {\n origin = place;\n place = void 0;\n }\n if (typeof origin === \"string\") {\n const index2 = origin.indexOf(\":\");\n if (index2 === -1) {\n parts[1] = origin;\n } else {\n parts[0] = origin.slice(0, index2);\n parts[1] = origin.slice(index2 + 1);\n }\n }\n if (place) {\n if (\"type\" in place || \"position\" in place) {\n if (place.position) {\n position2 = place.position;\n }\n } else if (\"start\" in place || \"end\" in place) {\n position2 = place;\n } else if (\"line\" in place || \"column\" in place) {\n position2.start = place;\n }\n }\n this.name = stringifyPosition(place) || \"1:1\";\n this.message = typeof reason === \"object\" ? reason.message : reason;\n this.stack = typeof reason === \"object\" ? reason.stack : \"\";\n this.reason = this.message;\n this.fatal;\n this.line = position2.start.line;\n this.column = position2.start.column;\n this.source = parts[0];\n this.ruleId = parts[1];\n this.position = position2;\n this.actual;\n this.expected;\n this.file;\n this.url;\n this.note;\n }\n}\nVFileMessage.prototype.file = \"\";\nVFileMessage.prototype.name = \"\";\nVFileMessage.prototype.reason = \"\";\nVFileMessage.prototype.message = \"\";\nVFileMessage.prototype.stack = \"\";\nVFileMessage.prototype.fatal = null;\nVFileMessage.prototype.column = null;\nVFileMessage.prototype.line = null;\nVFileMessage.prototype.source = null;\nVFileMessage.prototype.ruleId = null;\nVFileMessage.prototype.position = null;\nconst path = { basename, dirname, extname, join, sep: \"/\" };\nfunction basename(path2, ext) {\n if (ext !== void 0 && typeof ext !== \"string\") {\n throw new TypeError('\"ext\" argument must be a string');\n }\n assertPath$1(path2);\n let start = 0;\n let end = -1;\n let index2 = path2.length;\n let seenNonSlash;\n if (ext === void 0 || ext.length === 0 || ext.length > path2.length) {\n while (index2--) {\n if (path2.charCodeAt(index2) === 47) {\n if (seenNonSlash) {\n start = index2 + 1;\n break;\n }\n } else if (end < 0) {\n seenNonSlash = true;\n end = index2 + 1;\n }\n }\n return end < 0 ? \"\" : path2.slice(start, end);\n }\n if (ext === path2) {\n return \"\";\n }\n let firstNonSlashEnd = -1;\n let extIndex = ext.length - 1;\n while (index2--) {\n if (path2.charCodeAt(index2) === 47) {\n if (seenNonSlash) {\n start = index2 + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd < 0) {\n seenNonSlash = true;\n firstNonSlashEnd = index2 + 1;\n }\n if (extIndex > -1) {\n if (path2.charCodeAt(index2) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n end = index2;\n }\n } else {\n extIndex = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end) {\n end = firstNonSlashEnd;\n } else if (end < 0) {\n end = path2.length;\n }\n return path2.slice(start, end);\n}\nfunction dirname(path2) {\n assertPath$1(path2);\n if (path2.length === 0) {\n return \".\";\n }\n let end = -1;\n let index2 = path2.length;\n let unmatchedSlash;\n while (--index2) {\n if (path2.charCodeAt(index2) === 47) {\n if (unmatchedSlash) {\n end = index2;\n break;\n }\n } else if (!unmatchedSlash) {\n unmatchedSlash = true;\n }\n }\n return end < 0 ? path2.charCodeAt(0) === 47 ? \"/\" : \".\" : end === 1 && path2.charCodeAt(0) === 47 ? \"//\" : path2.slice(0, end);\n}\nfunction extname(path2) {\n assertPath$1(path2);\n let index2 = path2.length;\n let end = -1;\n let startPart = 0;\n let startDot = -1;\n let preDotState = 0;\n let unmatchedSlash;\n while (index2--) {\n const code2 = path2.charCodeAt(index2);\n if (code2 === 47) {\n if (unmatchedSlash) {\n startPart = index2 + 1;\n break;\n }\n continue;\n }\n if (end < 0) {\n unmatchedSlash = true;\n end = index2 + 1;\n }\n if (code2 === 46) {\n if (startDot < 0) {\n startDot = index2;\n } else if (preDotState !== 1) {\n preDotState = 1;\n }\n } else if (startDot > -1) {\n preDotState = -1;\n }\n }\n if (startDot < 0 || end < 0 || preDotState === 0 || preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return \"\";\n }\n return path2.slice(startDot, end);\n}\nfunction join(...segments) {\n let index2 = -1;\n let joined;\n while (++index2 < segments.length) {\n assertPath$1(segments[index2]);\n if (segments[index2]) {\n joined = joined === void 0 ? segments[index2] : joined + \"/\" + segments[index2];\n }\n }\n return joined === void 0 ? \".\" : normalize$1(joined);\n}\nfunction normalize$1(path2) {\n assertPath$1(path2);\n const absolute = path2.charCodeAt(0) === 47;\n let value = normalizeString(path2, !absolute);\n if (value.length === 0 && !absolute) {\n value = \".\";\n }\n if (value.length > 0 && path2.charCodeAt(path2.length - 1) === 47) {\n value += \"/\";\n }\n return absolute ? \"/\" + value : value;\n}\nfunction normalizeString(path2, allowAboveRoot) {\n let result = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let index2 = -1;\n let code2;\n let lastSlashIndex;\n while (++index2 <= path2.length) {\n if (index2 < path2.length) {\n code2 = path2.charCodeAt(index2);\n } else if (code2 === 47) {\n break;\n } else {\n code2 = 47;\n }\n if (code2 === 47) {\n if (lastSlash === index2 - 1 || dots === 1)\n ;\n else if (lastSlash !== index2 - 1 && dots === 2) {\n if (result.length < 2 || lastSegmentLength !== 2 || result.charCodeAt(result.length - 1) !== 46 || result.charCodeAt(result.length - 2) !== 46) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf(\"/\");\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = \"\";\n lastSegmentLength = 0;\n } else {\n result = result.slice(0, lastSlashIndex);\n lastSegmentLength = result.length - 1 - result.lastIndexOf(\"/\");\n }\n lastSlash = index2;\n dots = 0;\n continue;\n }\n } else if (result.length > 0) {\n result = \"\";\n lastSegmentLength = 0;\n lastSlash = index2;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n result = result.length > 0 ? result + \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (result.length > 0) {\n result += \"/\" + path2.slice(lastSlash + 1, index2);\n } else {\n result = path2.slice(lastSlash + 1, index2);\n }\n lastSegmentLength = index2 - lastSlash - 1;\n }\n lastSlash = index2;\n dots = 0;\n } else if (code2 === 46 && dots > -1) {\n dots++;\n } else {\n dots = -1;\n }\n }\n return result;\n}\nfunction assertPath$1(path2) {\n if (typeof path2 !== \"string\") {\n throw new TypeError(\n \"Path must be a string. Received \" + JSON.stringify(path2)\n );\n }\n}\nconst proc = { cwd };\nfunction cwd() {\n return \"/\";\n}\nfunction isUrl(fileURLOrPath) {\n return fileURLOrPath !== null && typeof fileURLOrPath === \"object\" && fileURLOrPath.href && fileURLOrPath.origin;\n}\nfunction urlToPath(path2) {\n if (typeof path2 === \"string\") {\n path2 = new URL(path2);\n } else if (!isUrl(path2)) {\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' + path2 + \"`\"\n );\n error.code = \"ERR_INVALID_ARG_TYPE\";\n throw error;\n }\n if (path2.protocol !== \"file:\") {\n const error = new TypeError(\"The URL must be of scheme file\");\n error.code = \"ERR_INVALID_URL_SCHEME\";\n throw error;\n }\n return getPathFromURLPosix(path2);\n}\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== \"\") {\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n );\n error.code = \"ERR_INVALID_FILE_URL_HOST\";\n throw error;\n }\n const pathname = url.pathname;\n let index2 = -1;\n while (++index2 < pathname.length) {\n if (pathname.charCodeAt(index2) === 37 && pathname.charCodeAt(index2 + 1) === 50) {\n const third = pathname.charCodeAt(index2 + 2);\n if (third === 70 || third === 102) {\n const error = new TypeError(\n \"File URL path must not include encoded / characters\"\n );\n error.code = \"ERR_INVALID_FILE_URL_PATH\";\n throw error;\n }\n }\n }\n return decodeURIComponent(pathname);\n}\nconst order = [\"history\", \"path\", \"basename\", \"stem\", \"extname\", \"dirname\"];\nclass VFile {\n constructor(value) {\n let options;\n if (!value) {\n options = {};\n } else if (typeof value === \"string\" || isBuffer2(value)) {\n options = { value };\n } else if (isUrl(value)) {\n options = { path: value };\n } else {\n options = value;\n }\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = proc.cwd();\n this.value;\n this.stored;\n this.result;\n this.map;\n let index2 = -1;\n while (++index2 < order.length) {\n const prop2 = order[index2];\n if (prop2 in options && options[prop2] !== void 0) {\n this[prop2] = prop2 === \"history\" ? [...options[prop2]] : options[prop2];\n }\n }\n let prop;\n for (prop in options) {\n if (!order.includes(prop))\n this[prop] = options[prop];\n }\n }\n get path() {\n return this.history[this.history.length - 1];\n }\n set path(path2) {\n if (isUrl(path2)) {\n path2 = urlToPath(path2);\n }\n assertNonEmpty(path2, \"path\");\n if (this.path !== path2) {\n this.history.push(path2);\n }\n }\n get dirname() {\n return typeof this.path === \"string\" ? path.dirname(this.path) : void 0;\n }\n set dirname(dirname2) {\n assertPath(this.basename, \"dirname\");\n this.path = path.join(dirname2 || \"\", this.basename);\n }\n get basename() {\n return typeof this.path === \"string\" ? path.basename(this.path) : void 0;\n }\n set basename(basename2) {\n assertNonEmpty(basename2, \"basename\");\n assertPart(basename2, \"basename\");\n this.path = path.join(this.dirname || \"\", basename2);\n }\n get extname() {\n return typeof this.path === \"string\" ? path.extname(this.path) : void 0;\n }\n set extname(extname2) {\n assertPart(extname2, \"extname\");\n assertPath(this.dirname, \"extname\");\n if (extname2) {\n if (extname2.charCodeAt(0) !== 46) {\n throw new Error(\"`extname` must start with `.`\");\n }\n if (extname2.includes(\".\", 1)) {\n throw new Error(\"`extname` cannot contain multiple dots\");\n }\n }\n this.path = path.join(this.dirname, this.stem + (extname2 || \"\"));\n }\n get stem() {\n return typeof this.path === \"string\" ? path.basename(this.path, this.extname) : void 0;\n }\n set stem(stem) {\n assertNonEmpty(stem, \"stem\");\n assertPart(stem, \"stem\");\n this.path = path.join(this.dirname || \"\", stem + (this.extname || \"\"));\n }\n toString(encoding) {\n return (this.value || \"\").toString(encoding);\n }\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin);\n if (this.path) {\n message.name = this.path + \":\" + message.name;\n message.file = this.path;\n }\n message.fatal = false;\n this.messages.push(message);\n return message;\n }\n info(reason, place, origin) {\n const message = this.message(reason, place, origin);\n message.fatal = null;\n return message;\n }\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin);\n message.fatal = true;\n throw message;\n }\n}\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n \"`\" + name + \"` cannot be a path: did not expect `\" + path.sep + \"`\"\n );\n }\n}\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error(\"`\" + name + \"` cannot be empty\");\n }\n}\nfunction assertPath(path2, name) {\n if (!path2) {\n throw new Error(\"Setting `\" + name + \"` requires `path` to be set too\");\n }\n}\nconst unified = base().freeze();\nconst own$7 = {}.hasOwnProperty;\nfunction base() {\n const transformers = trough();\n const attachers = [];\n let namespace = {};\n let frozen;\n let freezeIndex = -1;\n processor.data = data;\n processor.Parser = void 0;\n processor.Compiler = void 0;\n processor.freeze = freeze;\n processor.attachers = attachers;\n processor.use = use;\n processor.parse = parse2;\n processor.stringify = stringify2;\n processor.run = run;\n processor.runSync = runSync;\n processor.process = process;\n processor.processSync = processSync;\n return processor;\n function processor() {\n const destination = base();\n let index2 = -1;\n while (++index2 < attachers.length) {\n destination.use(...attachers[index2]);\n }\n destination.data(extend(true, {}, namespace));\n return destination;\n }\n function data(key, value) {\n if (typeof key === \"string\") {\n if (arguments.length === 2) {\n assertUnfrozen(\"data\", frozen);\n namespace[key] = value;\n return processor;\n }\n return own$7.call(namespace, key) && namespace[key] || null;\n }\n if (key) {\n assertUnfrozen(\"data\", frozen);\n namespace = key;\n return processor;\n }\n return namespace;\n }\n function freeze() {\n if (frozen) {\n return processor;\n }\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex];\n if (options[0] === false) {\n continue;\n }\n if (options[0] === true) {\n options[0] = void 0;\n }\n const transformer = attacher.call(processor, ...options);\n if (typeof transformer === \"function\") {\n transformers.use(transformer);\n }\n }\n frozen = true;\n freezeIndex = Number.POSITIVE_INFINITY;\n return processor;\n }\n function use(value, ...options) {\n let settings;\n assertUnfrozen(\"use\", frozen);\n if (value === null || value === void 0)\n ;\n else if (typeof value === \"function\") {\n addPlugin(value, ...options);\n } else if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n addList(value);\n } else {\n addPreset(value);\n }\n } else {\n throw new TypeError(\"Expected usable value, not `\" + value + \"`\");\n }\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings);\n }\n return processor;\n function add(value2) {\n if (typeof value2 === \"function\") {\n addPlugin(value2);\n } else if (typeof value2 === \"object\") {\n if (Array.isArray(value2)) {\n const [plugin, ...options2] = value2;\n addPlugin(plugin, ...options2);\n } else {\n addPreset(value2);\n }\n } else {\n throw new TypeError(\"Expected usable value, not `\" + value2 + \"`\");\n }\n }\n function addPreset(result) {\n addList(result.plugins);\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings);\n }\n }\n function addList(plugins) {\n let index2 = -1;\n if (plugins === null || plugins === void 0)\n ;\n else if (Array.isArray(plugins)) {\n while (++index2 < plugins.length) {\n const thing = plugins[index2];\n add(thing);\n }\n } else {\n throw new TypeError(\"Expected a list of plugins, not `\" + plugins + \"`\");\n }\n }\n function addPlugin(plugin, value2) {\n let index2 = -1;\n let entry;\n while (++index2 < attachers.length) {\n if (attachers[index2][0] === plugin) {\n entry = attachers[index2];\n break;\n }\n }\n if (entry) {\n if (isPlainObject2(entry[1]) && isPlainObject2(value2)) {\n value2 = extend(true, entry[1], value2);\n }\n entry[1] = value2;\n } else {\n attachers.push([...arguments]);\n }\n }\n }\n function parse2(doc) {\n processor.freeze();\n const file = vfile(doc);\n const Parser = processor.Parser;\n assertParser(\"parse\", Parser);\n if (newable(Parser, \"parse\")) {\n return new Parser(String(file), file).parse();\n }\n return Parser(String(file), file);\n }\n function stringify2(node, doc) {\n processor.freeze();\n const file = vfile(doc);\n const Compiler = processor.Compiler;\n assertCompiler(\"stringify\", Compiler);\n assertNode(node);\n if (newable(Compiler, \"compile\")) {\n return new Compiler(node, file).compile();\n }\n return Compiler(node, file);\n }\n function run(node, doc, callback) {\n assertNode(node);\n processor.freeze();\n if (!callback && typeof doc === \"function\") {\n callback = doc;\n doc = void 0;\n }\n if (!callback) {\n return new Promise(executor);\n }\n executor(null, callback);\n function executor(resolve, reject) {\n transformers.run(node, vfile(doc), done);\n function done(error, tree, file) {\n tree = tree || node;\n if (error) {\n reject(error);\n } else if (resolve) {\n resolve(tree);\n } else {\n callback(null, tree, file);\n }\n }\n }\n }\n function runSync(node, file) {\n let result;\n let complete;\n processor.run(node, file, done);\n assertDone(\"runSync\", \"run\", complete);\n return result;\n function done(error, tree) {\n bail(error);\n result = tree;\n complete = true;\n }\n }\n function process(doc, callback) {\n processor.freeze();\n assertParser(\"process\", processor.Parser);\n assertCompiler(\"process\", processor.Compiler);\n if (!callback) {\n return new Promise(executor);\n }\n executor(null, callback);\n function executor(resolve, reject) {\n const file = vfile(doc);\n processor.run(processor.parse(file), file, (error, tree, file2) => {\n if (error || !tree || !file2) {\n done(error);\n } else {\n const result = processor.stringify(tree, file2);\n if (result === void 0 || result === null)\n ;\n else if (looksLikeAVFileValue(result)) {\n file2.value = result;\n } else {\n file2.result = result;\n }\n done(error, file2);\n }\n });\n function done(error, file2) {\n if (error || !file2) {\n reject(error);\n } else if (resolve) {\n resolve(file2);\n } else {\n callback(null, file2);\n }\n }\n }\n }\n function processSync(doc) {\n let complete;\n processor.freeze();\n assertParser(\"processSync\", processor.Parser);\n assertCompiler(\"processSync\", processor.Compiler);\n const file = vfile(doc);\n processor.process(file, done);\n assertDone(\"processSync\", \"process\", complete);\n return file;\n function done(error) {\n complete = true;\n bail(error);\n }\n }\n}\nfunction newable(value, name) {\n return typeof value === \"function\" && value.prototype && (keys(value.prototype) || name in value.prototype);\n}\nfunction keys(value) {\n let key;\n for (key in value) {\n if (own$7.call(value, key)) {\n return true;\n }\n }\n return false;\n}\nfunction assertParser(name, value) {\n if (typeof value !== \"function\") {\n throw new TypeError(\"Cannot `\" + name + \"` without `Parser`\");\n }\n}\nfunction assertCompiler(name, value) {\n if (typeof value !== \"function\") {\n throw new TypeError(\"Cannot `\" + name + \"` without `Compiler`\");\n }\n}\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n \"Cannot call `\" + name + \"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.\"\n );\n }\n}\nfunction assertNode(node) {\n if (!isPlainObject2(node) || typeof node.type !== \"string\") {\n throw new TypeError(\"Expected node, got `\" + node + \"`\");\n }\n}\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n \"`\" + name + \"` finished async. Use `\" + asyncName + \"` instead\"\n );\n }\n}\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value);\n}\nfunction looksLikeAVFile(value) {\n return Boolean(\n value && typeof value === \"object\" && \"message\" in value && \"messages\" in value\n );\n}\nfunction looksLikeAVFileValue(value) {\n return typeof value === \"string\" || isBuffer$1(value);\n}\nif (!window._vue_richtext_widgets) {\n window._vue_richtext_widgets = {};\n}\nconst isWidgetRegistered = (id) => {\n return !!window._vue_richtext_widgets[id];\n};\nconst registerWidget = (id, callback, onDestroy = (el) => {\n}) => {\n if (window._vue_richtext_widgets[id]) {\n console.error(\"Widget for id \" + id + \" already registered\");\n return;\n }\n window._vue_richtext_widgets[id] = {\n id,\n callback,\n onDestroy\n };\n};\nconst renderWidget = (el, { richObjectType, richObject, accessible }) => {\n if (richObjectType === \"open-graph\") {\n return;\n }\n if (!window._vue_richtext_widgets[richObjectType]) {\n console.error(\"Widget for rich object type \" + richObjectType + \" not registered\");\n return;\n }\n window._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible });\n};\nconst destroyWidget = (richObjectType, el) => {\n if (richObjectType === \"open-graph\") {\n return;\n }\n if (!window._vue_richtext_widgets[richObjectType]) {\n return;\n }\n window._vue_richtext_widgets[richObjectType].onDestroy(el);\n};\nwindow._registerWidget = registerWidget;\nconst ReferenceWidget_vue_vue_type_style_index_0_scoped_de8147ea_lang = \"\";\nfunction normalizeComponent(scriptExports, render3, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render3) {\n options.render = render3;\n options.staticRenderFns = staticRenderFns;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst _sfc_main$2 = {\n name: \"ReferenceWidget\",\n props: {\n reference: {\n type: Object,\n required: true\n }\n },\n data() {\n return {\n compact: 3\n };\n },\n computed: {\n hasCustomWidget() {\n return isWidgetRegistered(this.reference.richObjectType);\n },\n noAccess() {\n return this.reference && !this.reference.accessible;\n },\n descriptionStyle() {\n if (this.compact === 0) {\n return {\n display: \"none\"\n };\n }\n const lineClamp = this.compact < 4 ? this.compact : 3;\n return {\n lineClamp,\n webkitLineClamp: lineClamp\n };\n },\n compactLink() {\n const link2 = this.reference.openGraphObject.link;\n if (!link2) {\n return \"\";\n }\n if (link2.startsWith(\"https://\")) {\n return link2.substring(8);\n }\n if (link2.startsWith(\"http://\")) {\n return link2.substring(7);\n }\n return link2;\n }\n },\n mounted() {\n this.renderWidget();\n this.observer = new ResizeObserver((entries) => {\n if (entries[0].contentRect.width < 450) {\n this.compact = 0;\n } else if (entries[0].contentRect.width < 550) {\n this.compact = 1;\n } else if (entries[0].contentRect.width < 650) {\n this.compact = 2;\n } else {\n this.compact = 3;\n }\n });\n this.observer.observe(this.$el);\n },\n beforeDestroy() {\n this.observer.disconnect();\n destroyWidget(this.reference.richObjectType, this.$el);\n },\n methods: {\n renderWidget() {\n var _a;\n if (this.$refs.customWidget) {\n this.$refs.customWidget.innerHTML = \"\";\n }\n if (((_a = this == null ? void 0 : this.reference) == null ? void 0 : _a.richObjectType) === \"open-graph\") {\n return;\n }\n this.$nextTick(() => {\n renderWidget(this.$refs.customWidget, this.reference);\n });\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", [_vm.reference && _vm.hasCustomWidget ? _c(\"div\", { staticClass: \"widget-custom\" }, [_c(\"div\", { ref: \"customWidget\" })]) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(\"a\", { staticClass: \"widget-default\", attrs: { \"href\": _vm.reference.openGraphObject.link, \"rel\": \"noopener noreferrer\", \"target\": \"_blank\" } }, [_vm.reference.openGraphObject.thumb ? _c(\"img\", { staticClass: \"widget-default--image\", attrs: { \"src\": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c(\"div\", { staticClass: \"widget-default--details\" }, [_c(\"p\", { staticClass: \"widget-default--title\" }, [_vm._v(_vm._s(_vm.reference.openGraphObject.name))]), _c(\"p\", { staticClass: \"widget-default--description\", style: _vm.descriptionStyle }, [_vm._v(_vm._s(_vm.reference.openGraphObject.description))]), _c(\"p\", { staticClass: \"widget-default--link\" }, [_vm._v(_vm._s(_vm.compactLink))])])]) : _vm._e()]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"de8147ea\",\n null,\n null\n);\nconst ReferenceWidget = __component__$2.exports;\nconst URL_PATTERN = /(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig;\nconst URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig;\nconst ReferenceList_vue_vue_type_style_index_0_scoped_5a4fd40e_lang = \"\";\nconst _sfc_main$1 = {\n name: \"ReferenceList\",\n components: { ReferenceWidget },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Object,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n values() {\n return this.referenceData ? this.referenceData : this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n var _a;\n return (_a = this.values[0]) != null ? _a : null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n if (this.limit === 1 && match) {\n return axios.get(generateOcsUrl(\"references/resolve\", 2) + `?reference=${encodeURIComponent(match[0])}`);\n }\n return axios.post(generateOcsUrl(\"references/extract\", 2), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"div\", { key: reference.openGraphObject.id }, [_c(\"ReferenceWidget\", { attrs: { \"reference\": reference } })], 1);\n }), 0);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"5a4fd40e\",\n null,\n null\n);\nconst ReferenceList = __component__$1.exports;\nfunction toString(node, options) {\n var { includeImageAlt = true } = options || {};\n return one$1(node, includeImageAlt);\n}\nfunction one$1(node, includeImageAlt) {\n return node && typeof node === \"object\" && (node.value || (includeImageAlt ? node.alt : \"\") || \"children\" in node && all$1(node.children, includeImageAlt) || Array.isArray(node) && all$1(node, includeImageAlt)) || \"\";\n}\nfunction all$1(values, includeImageAlt) {\n var result = [];\n var index2 = -1;\n while (++index2 < values.length) {\n result[index2] = one$1(values[index2], includeImageAlt);\n }\n return result.join(\"\");\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n [].splice.apply(list2, parameters);\n } else {\n if (remove)\n [].splice.apply(list2, [start, remove]);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n [].splice.apply(list2, parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nfunction push(list2, items) {\n if (list2.length > 0) {\n splice(list2, list2.length, 0, items);\n return list2;\n }\n return items;\n}\nconst hasOwnProperty$1 = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index2 = -1;\n while (++index2 < extensions.length) {\n syntaxExtension(all2, extensions[index2]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension2) {\n let hook;\n for (hook in extension2) {\n const maybe = hasOwnProperty$1.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension2[hook];\n let code2;\n for (code2 in right) {\n if (!hasOwnProperty$1.call(left, code2))\n left[code2] = [];\n const value = right[code2];\n constructs(\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n}\nfunction constructs(existing, list2) {\n let index2 = -1;\n const before = [];\n while (++index2 < list2.length) {\n (list2[index2].add === \"after\" ? existing : before).push(list2[index2]);\n }\n splice(existing, 0, 0, before);\n}\nconst unicodePunctuationRegex = /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/;\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiDigit = regexCheck(/\\d/);\nconst asciiHexDigit = regexCheck(/[\\dA-Fa-f]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nconst asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);\nconst asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/);\nfunction asciiControl(code2) {\n return code2 !== null && (code2 < 32 || code2 === 127);\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodeWhitespace = regexCheck(/\\s/);\nconst unicodePunctuation = regexCheck(unicodePunctuationRegex);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && regex.test(String.fromCharCode(code2));\n }\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst content$1 = {\n tokenize: initializeContent\n};\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n );\n let previous2;\n return contentStart;\n function afterContentStartConstruct(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, contentStart, \"linePrefix\");\n }\n function paragraphInitial(code2) {\n effects.enter(\"paragraph\");\n return lineStart(code2);\n }\n function lineStart(code2) {\n const token = effects.enter(\"chunkText\", {\n contentType: \"text\",\n previous: previous2\n });\n if (previous2) {\n previous2.next = token;\n }\n previous2 = token;\n return data(code2);\n }\n function data(code2) {\n if (code2 === null) {\n effects.exit(\"chunkText\");\n effects.exit(\"paragraph\");\n effects.consume(code2);\n return;\n }\n if (markdownLineEnding(code2)) {\n effects.consume(code2);\n effects.exit(\"chunkText\");\n return lineStart;\n }\n effects.consume(code2);\n return data;\n }\n}\nconst document$2 = {\n tokenize: initializeDocument\n};\nconst containerConstruct = {\n tokenize: tokenizeContainer\n};\nfunction initializeDocument(effects) {\n const self = this;\n const stack = [];\n let continued = 0;\n let childFlow;\n let childToken;\n let lineStartOffset;\n return start;\n function start(code2) {\n if (continued < stack.length) {\n const item = stack[continued];\n self.containerState = item[1];\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code2);\n }\n return checkNewContainers(code2);\n }\n function documentContinue(code2) {\n continued++;\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = void 0;\n if (childFlow) {\n closeFlow();\n }\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n let point2;\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === \"exit\" && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n point2 = self.events[indexBeforeFlow][1].end;\n break;\n }\n }\n exitContainers(continued);\n let index2 = indexBeforeExits;\n while (index2 < self.events.length) {\n self.events[index2][1].end = Object.assign({}, point2);\n index2++;\n }\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n );\n self.events.length = index2;\n return checkNewContainers(code2);\n }\n return start(code2);\n }\n function checkNewContainers(code2) {\n if (continued === stack.length) {\n if (!childFlow) {\n return documentContinued(code2);\n }\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code2);\n }\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n );\n }\n self.containerState = {};\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code2);\n }\n function thereIsANewContainer(code2) {\n if (childFlow)\n closeFlow();\n exitContainers(continued);\n return documentContinued(code2);\n }\n function thereIsNoNewContainer(code2) {\n self.parser.lazy[self.now().line] = continued !== stack.length;\n lineStartOffset = self.now().offset;\n return flowStart(code2);\n }\n function documentContinued(code2) {\n self.containerState = {};\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code2);\n }\n function containerContinue(code2) {\n continued++;\n stack.push([self.currentConstruct, self.containerState]);\n return documentContinued(code2);\n }\n function flowStart(code2) {\n if (code2 === null) {\n if (childFlow)\n closeFlow();\n exitContainers(0);\n effects.consume(code2);\n return;\n }\n childFlow = childFlow || self.parser.flow(self.now());\n effects.enter(\"chunkFlow\", {\n contentType: \"flow\",\n previous: childToken,\n _tokenizer: childFlow\n });\n return flowContinue(code2);\n }\n function flowContinue(code2) {\n if (code2 === null) {\n writeToChild(effects.exit(\"chunkFlow\"), true);\n exitContainers(0);\n effects.consume(code2);\n return;\n }\n if (markdownLineEnding(code2)) {\n effects.consume(code2);\n writeToChild(effects.exit(\"chunkFlow\"));\n continued = 0;\n self.interrupt = void 0;\n return start;\n }\n effects.consume(code2);\n return flowContinue;\n }\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token);\n if (eof)\n stream.push(null);\n token.previous = childToken;\n if (childToken)\n childToken.next = token;\n childToken = token;\n childFlow.defineSkip(token.start);\n childFlow.write(stream);\n if (self.parser.lazy[token.start.line]) {\n let index2 = childFlow.events.length;\n while (index2--) {\n if (childFlow.events[index2][1].start.offset < lineStartOffset && (!childFlow.events[index2][1].end || childFlow.events[index2][1].end.offset > lineStartOffset)) {\n return;\n }\n }\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n let seen;\n let point2;\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === \"exit\" && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n if (seen) {\n point2 = self.events[indexBeforeFlow][1].end;\n break;\n }\n seen = true;\n }\n }\n exitContainers(continued);\n index2 = indexBeforeExits;\n while (index2 < self.events.length) {\n self.events[index2][1].end = Object.assign({}, point2);\n index2++;\n }\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n );\n self.events.length = index2;\n }\n }\n function exitContainers(size) {\n let index2 = stack.length;\n while (index2-- > size) {\n const entry = stack[index2];\n self.containerState = entry[1];\n entry[0].exit.call(self, effects);\n }\n stack.length = size;\n }\n function closeFlow() {\n childFlow.write([null]);\n childToken = void 0;\n childFlow = void 0;\n self.containerState._closeFlow = void 0;\n }\n}\nfunction tokenizeContainer(effects, ok2, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok2, nok),\n \"linePrefix\",\n this.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index2 = -1;\n while (++index2 < constructs2.length) {\n const resolve = constructs2[index2].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nconst attention = {\n name: \"attention\",\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n};\nfunction resolveAllAttention(events, context) {\n let index2 = -1;\n let open;\n let group;\n let text2;\n let openingSequence;\n let closingSequence;\n let use;\n let nextEvents;\n let offset;\n while (++index2 < events.length) {\n if (events[index2][0] === \"enter\" && events[index2][1].type === \"attentionSequence\" && events[index2][1]._close) {\n open = index2;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"attentionSequence\" && events[open][1]._open && context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index2][1]).charCodeAt(0)) {\n if ((events[open][1]._close || events[index2][1]._open) && (events[index2][1].end.offset - events[index2][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index2][1].end.offset - events[index2][1].start.offset) % 3)) {\n continue;\n }\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index2][1].end.offset - events[index2][1].start.offset > 1 ? 2 : 1;\n const start = Object.assign({}, events[open][1].end);\n const end = Object.assign({}, events[index2][1].start);\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: Object.assign({}, events[open][1].end)\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: Object.assign({}, events[index2][1].start),\n end\n };\n text2 = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index2][1].start)\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n };\n events[open][1].end = Object.assign({}, openingSequence.start);\n events[index2][1].start = Object.assign({}, closingSequence.end);\n nextEvents = [];\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context]\n ]);\n }\n nextEvents = push(nextEvents, [\n [\"enter\", group, context],\n [\"enter\", openingSequence, context],\n [\"exit\", openingSequence, context],\n [\"enter\", text2, context]\n ]);\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index2),\n context\n )\n );\n nextEvents = push(nextEvents, [\n [\"exit\", text2, context],\n [\"enter\", closingSequence, context],\n [\"exit\", closingSequence, context],\n [\"exit\", group, context]\n ]);\n if (events[index2][1].end.offset - events[index2][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [\n [\"enter\", events[index2][1], context],\n [\"exit\", events[index2][1], context]\n ]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index2 - open + 3, nextEvents);\n index2 = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n index2 = -1;\n while (++index2 < events.length) {\n if (events[index2][1].type === \"attentionSequence\") {\n events[index2][1].type = \"data\";\n }\n }\n return events;\n}\nfunction tokenizeAttention(effects, ok2) {\n const attentionMarkers2 = this.parser.constructs.attentionMarkers.null;\n const previous2 = this.previous;\n const before = classifyCharacter(previous2);\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"attentionSequence\");\n marker = code2;\n return sequence(code2);\n }\n function sequence(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n return sequence;\n }\n const token = effects.exit(\"attentionSequence\");\n const after = classifyCharacter(code2);\n const open = !after || after === 2 && before || attentionMarkers2.includes(code2);\n const close = !before || before === 2 && after || attentionMarkers2.includes(previous2);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok2(code2);\n }\n}\nfunction movePoint(point2, offset) {\n point2.column += offset;\n point2.offset += offset;\n point2._bufferIndex += offset;\n}\nconst autolink = {\n name: \"autolink\",\n tokenize: tokenizeAutolink\n};\nfunction tokenizeAutolink(effects, ok2, nok) {\n let size = 1;\n return start;\n function start(code2) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code2);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n function open(code2) {\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return schemeOrEmailAtext;\n }\n return asciiAtext(code2) ? emailAtext(code2) : nok(code2);\n }\n function schemeOrEmailAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || asciiAlphanumeric(code2) ? schemeInsideOrEmailAtext(code2) : emailAtext(code2);\n }\n function schemeInsideOrEmailAtext(code2) {\n if (code2 === 58) {\n effects.consume(code2);\n return urlInside;\n }\n if ((code2 === 43 || code2 === 45 || code2 === 46 || asciiAlphanumeric(code2)) && size++ < 32) {\n effects.consume(code2);\n return schemeInsideOrEmailAtext;\n }\n return emailAtext(code2);\n }\n function urlInside(code2) {\n if (code2 === 62) {\n effects.exit(\"autolinkProtocol\");\n return end(code2);\n }\n if (code2 === null || code2 === 32 || code2 === 60 || asciiControl(code2)) {\n return nok(code2);\n }\n effects.consume(code2);\n return urlInside;\n }\n function emailAtext(code2) {\n if (code2 === 64) {\n effects.consume(code2);\n size = 0;\n return emailAtSignOrDot;\n }\n if (asciiAtext(code2)) {\n effects.consume(code2);\n return emailAtext;\n }\n return nok(code2);\n }\n function emailAtSignOrDot(code2) {\n return asciiAlphanumeric(code2) ? emailLabel(code2) : nok(code2);\n }\n function emailLabel(code2) {\n if (code2 === 46) {\n effects.consume(code2);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code2 === 62) {\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n return end(code2);\n }\n return emailValue(code2);\n }\n function emailValue(code2) {\n if ((code2 === 45 || asciiAlphanumeric(code2)) && size++ < 63) {\n effects.consume(code2);\n return code2 === 45 ? emailValue : emailLabel;\n }\n return nok(code2);\n }\n function end(code2) {\n effects.enter(\"autolinkMarker\");\n effects.consume(code2);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok2;\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return factorySpace(effects, afterWhitespace, \"linePrefix\");\n function afterWhitespace(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst blockQuote = {\n name: \"blockQuote\",\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n};\nfunction tokenizeBlockQuoteStart(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n if (code2 === 62) {\n const state = self.containerState;\n if (!state.open) {\n effects.enter(\"blockQuote\", {\n _container: true\n });\n state.open = true;\n }\n effects.enter(\"blockQuotePrefix\");\n effects.enter(\"blockQuoteMarker\");\n effects.consume(code2);\n effects.exit(\"blockQuoteMarker\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownSpace(code2)) {\n effects.enter(\"blockQuotePrefixWhitespace\");\n effects.consume(code2);\n effects.exit(\"blockQuotePrefixWhitespace\");\n effects.exit(\"blockQuotePrefix\");\n return ok2;\n }\n effects.exit(\"blockQuotePrefix\");\n return ok2(code2);\n }\n}\nfunction tokenizeBlockQuoteContinuation(effects, ok2, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok2, nok),\n \"linePrefix\",\n this.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n}\nfunction exit(effects) {\n effects.exit(\"blockQuote\");\n}\nconst characterEscape = {\n name: \"characterEscape\",\n tokenize: tokenizeCharacterEscape\n};\nfunction tokenizeCharacterEscape(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code2);\n effects.exit(\"escapeMarker\");\n return open;\n }\n function open(code2) {\n if (asciiPunctuation(code2)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code2);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok2;\n }\n return nok(code2);\n }\n}\nconst element$1 = document.createElement(\"i\");\nfunction decodeNamedCharacterReference(value) {\n const characterReference2 = \"&\" + value + \";\";\n element$1.innerHTML = characterReference2;\n const char = element$1.textContent;\n if (char.charCodeAt(char.length - 1) === 59 && value !== \"semi\") {\n return false;\n }\n return char === characterReference2 ? false : char;\n}\nconst characterReference = {\n name: \"characterReference\",\n tokenize: tokenizeCharacterReference\n};\nfunction tokenizeCharacterReference(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let max;\n let test;\n return start;\n function start(code2) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n function open(code2) {\n if (code2 === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code2);\n }\n function numeric(code2) {\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code2);\n }\n function value(code2) {\n let token;\n if (code2 === 59 && size) {\n token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code2);\n }\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code2);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok2;\n }\n if (test(code2) && size++ < max) {\n effects.consume(code2);\n return value;\n }\n return nok(code2);\n }\n}\nconst codeFenced = {\n name: \"codeFenced\",\n tokenize: tokenizeCodeFenced,\n concrete: true\n};\nfunction tokenizeCodeFenced(effects, ok2, nok) {\n const self = this;\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n };\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n };\n const tail = this.events[this.events.length - 1];\n const initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let sizeOpen = 0;\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n marker = code2;\n return sequenceOpen(code2);\n }\n function sequenceOpen(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeFencedFenceSequence\");\n return sizeOpen < 3 ? nok(code2) : factorySpace(effects, infoOpen, \"whitespace\")(code2);\n }\n function infoOpen(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return openAfter(code2);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code2);\n }\n function info(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, infoAfter, \"whitespace\")(code2);\n }\n if (code2 === 96 && code2 === marker)\n return nok(code2);\n effects.consume(code2);\n return info;\n }\n function infoAfter(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return openAfter(code2);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code2);\n }\n function meta(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return openAfter(code2);\n }\n if (code2 === 96 && code2 === marker)\n return nok(code2);\n effects.consume(code2);\n return meta;\n }\n function openAfter(code2) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok2(code2) : contentStart(code2);\n }\n function contentStart(code2) {\n if (code2 === null) {\n return after(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix ? factorySpace(\n effects,\n contentStart,\n \"linePrefix\",\n initialPrefix + 1\n ) : contentStart\n ),\n after\n )(code2);\n }\n effects.enter(\"codeFlowValue\");\n return contentContinue(code2);\n }\n function contentContinue(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"codeFlowValue\");\n return contentStart(code2);\n }\n effects.consume(code2);\n return contentContinue;\n }\n function after(code2) {\n effects.exit(\"codeFenced\");\n return ok2(code2);\n }\n function tokenizeNonLazyLine(effects2, ok3, nok2) {\n const self2 = this;\n return start2;\n function start2(code2) {\n effects2.enter(\"lineEnding\");\n effects2.consume(code2);\n effects2.exit(\"lineEnding\");\n return lineStart;\n }\n function lineStart(code2) {\n return self2.parser.lazy[self2.now().line] ? nok2(code2) : ok3(code2);\n }\n }\n function tokenizeClosingFence(effects2, ok3, nok2) {\n let size = 0;\n return factorySpace(\n effects2,\n closingSequenceStart,\n \"linePrefix\",\n this.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n function closingSequenceStart(code2) {\n effects2.enter(\"codeFencedFence\");\n effects2.enter(\"codeFencedFenceSequence\");\n return closingSequence(code2);\n }\n function closingSequence(code2) {\n if (code2 === marker) {\n effects2.consume(code2);\n size++;\n return closingSequence;\n }\n if (size < sizeOpen)\n return nok2(code2);\n effects2.exit(\"codeFencedFenceSequence\");\n return factorySpace(effects2, closingSequenceEnd, \"whitespace\")(code2);\n }\n function closingSequenceEnd(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects2.exit(\"codeFencedFence\");\n return ok3(code2);\n }\n return nok2(code2);\n }\n }\n}\nconst codeIndented = {\n name: \"codeIndented\",\n tokenize: tokenizeCodeIndented\n};\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n};\nfunction tokenizeCodeIndented(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n effects.enter(\"codeIndented\");\n return factorySpace(effects, afterStartPrefix, \"linePrefix\", 4 + 1)(code2);\n }\n function afterStartPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? afterPrefix(code2) : nok(code2);\n }\n function afterPrefix(code2) {\n if (code2 === null) {\n return after(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code2);\n }\n effects.enter(\"codeFlowValue\");\n return content2(code2);\n }\n function content2(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"codeFlowValue\");\n return afterPrefix(code2);\n }\n effects.consume(code2);\n return content2;\n }\n function after(code2) {\n effects.exit(\"codeIndented\");\n return ok2(code2);\n }\n}\nfunction tokenizeIndentedContent(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return start;\n }\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code2);\n }\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? ok2(code2) : markdownLineEnding(code2) ? start(code2) : nok(code2);\n }\n}\nconst codeText = {\n name: \"codeText\",\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n};\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n let index2;\n let enter;\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === \"space\") && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === \"space\")) {\n index2 = headEnterIndex;\n while (++index2 < tailExitIndex) {\n if (events[index2][1].type === \"codeTextData\") {\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n index2 = headEnterIndex - 1;\n tailExitIndex++;\n while (++index2 <= tailExitIndex) {\n if (enter === void 0) {\n if (index2 !== tailExitIndex && events[index2][1].type !== \"lineEnding\") {\n enter = index2;\n }\n } else if (index2 === tailExitIndex || events[index2][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index2 !== enter + 2) {\n events[enter][1].end = events[index2 - 1][1].end;\n events.splice(enter + 2, index2 - enter - 2);\n tailExitIndex -= index2 - enter - 2;\n index2 = enter + 2;\n }\n enter = void 0;\n }\n }\n return events;\n}\nfunction previous(code2) {\n return code2 !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\nfunction tokenizeCodeText(effects, ok2, nok) {\n let sizeOpen = 0;\n let size;\n let token;\n return start;\n function start(code2) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return openingSequence(code2);\n }\n function openingSequence(code2) {\n if (code2 === 96) {\n effects.consume(code2);\n sizeOpen++;\n return openingSequence;\n }\n effects.exit(\"codeTextSequence\");\n return gap(code2);\n }\n function gap(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return closingSequence(code2);\n }\n if (code2 === 32) {\n effects.enter(\"space\");\n effects.consume(code2);\n effects.exit(\"space\");\n return gap;\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return gap;\n }\n effects.enter(\"codeTextData\");\n return data(code2);\n }\n function data(code2) {\n if (code2 === null || code2 === 32 || code2 === 96 || markdownLineEnding(code2)) {\n effects.exit(\"codeTextData\");\n return gap(code2);\n }\n effects.consume(code2);\n return data;\n }\n function closingSequence(code2) {\n if (code2 === 96) {\n effects.consume(code2);\n size++;\n return closingSequence;\n }\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok2(code2);\n }\n token.type = \"codeTextData\";\n return data(code2);\n }\n}\nfunction subtokenize(events) {\n const jumps = {};\n let index2 = -1;\n let event;\n let lineIndex;\n let otherIndex;\n let otherEvent;\n let parameters;\n let subevents;\n let more;\n while (++index2 < events.length) {\n while (index2 in jumps) {\n index2 = jumps[index2];\n }\n event = events[index2];\n if (index2 && event[1].type === \"chunkFlow\" && events[index2 - 1][1].type === \"listItemPrefix\") {\n subevents = event[1]._tokenizer.events;\n otherIndex = 0;\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"lineEndingBlank\") {\n otherIndex += 2;\n }\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"content\") {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === \"content\") {\n break;\n }\n if (subevents[otherIndex][1].type === \"chunkText\") {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true;\n otherIndex++;\n }\n }\n }\n }\n if (event[0] === \"enter\") {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index2));\n index2 = jumps[index2];\n more = true;\n }\n } else if (event[1]._container) {\n otherIndex = index2;\n lineIndex = void 0;\n while (otherIndex--) {\n otherEvent = events[otherIndex];\n if (otherEvent[1].type === \"lineEnding\" || otherEvent[1].type === \"lineEndingBlank\") {\n if (otherEvent[0] === \"enter\") {\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n }\n otherEvent[1].type = \"lineEnding\";\n lineIndex = otherIndex;\n }\n } else {\n break;\n }\n }\n if (lineIndex) {\n event[1].end = Object.assign({}, events[lineIndex][1].start);\n parameters = events.slice(lineIndex, index2);\n parameters.unshift(event);\n splice(events, lineIndex, index2 - lineIndex + 1, parameters);\n }\n }\n }\n return !more;\n}\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1];\n const context = events[eventIndex][2];\n let startPosition = eventIndex - 1;\n const startPositions = [];\n const tokenizer = token._tokenizer || context.parser[token.contentType](token.start);\n const childEvents = tokenizer.events;\n const jumps = [];\n const gaps = {};\n let stream;\n let previous2;\n let index2 = -1;\n let current = token;\n let adjust = 0;\n let start = 0;\n const breaks = [start];\n while (current) {\n while (events[++startPosition][1] !== current) {\n }\n startPositions.push(startPosition);\n if (!current._tokenizer) {\n stream = context.sliceStream(current);\n if (!current.next) {\n stream.push(null);\n }\n if (previous2) {\n tokenizer.defineSkip(current.start);\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true;\n }\n tokenizer.write(stream);\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = void 0;\n }\n }\n previous2 = current;\n current = current.next;\n }\n current = token;\n while (++index2 < childEvents.length) {\n if (childEvents[index2][0] === \"exit\" && childEvents[index2 - 1][0] === \"enter\" && childEvents[index2][1].type === childEvents[index2 - 1][1].type && childEvents[index2][1].start.line !== childEvents[index2][1].end.line) {\n start = index2 + 1;\n breaks.push(start);\n current._tokenizer = void 0;\n current.previous = void 0;\n current = current.next;\n }\n }\n tokenizer.events = [];\n if (current) {\n current._tokenizer = void 0;\n current.previous = void 0;\n } else {\n breaks.pop();\n }\n index2 = breaks.length;\n while (index2--) {\n const slice = childEvents.slice(breaks[index2], breaks[index2 + 1]);\n const start2 = startPositions.pop();\n jumps.unshift([start2, start2 + slice.length - 1]);\n splice(events, start2, 2, slice);\n }\n index2 = -1;\n while (++index2 < jumps.length) {\n gaps[adjust + jumps[index2][0]] = adjust + jumps[index2][1];\n adjust += jumps[index2][1] - jumps[index2][0] - 1;\n }\n return gaps;\n}\nconst content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n};\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n};\nfunction resolveContent(events) {\n subtokenize(events);\n return events;\n}\nfunction tokenizeContent(effects, ok2) {\n let previous2;\n return start;\n function start(code2) {\n effects.enter(\"content\");\n previous2 = effects.enter(\"chunkContent\", {\n contentType: \"content\"\n });\n return data(code2);\n }\n function data(code2) {\n if (code2 === null) {\n return contentEnd(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code2);\n }\n effects.consume(code2);\n return data;\n }\n function contentEnd(code2) {\n effects.exit(\"chunkContent\");\n effects.exit(\"content\");\n return ok2(code2);\n }\n function contentContinue(code2) {\n effects.consume(code2);\n effects.exit(\"chunkContent\");\n previous2.next = effects.enter(\"chunkContent\", {\n contentType: \"content\",\n previous: previous2\n });\n previous2 = previous2.next;\n return data;\n }\n}\nfunction tokenizeContinuation(effects, ok2, nok) {\n const self = this;\n return startLookahead;\n function startLookahead(code2) {\n effects.exit(\"chunkContent\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, prefixed, \"linePrefix\");\n }\n function prefixed(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return nok(code2);\n }\n const tail = self.events[self.events.length - 1];\n if (!self.parser.constructs.disable.null.includes(\"codeIndented\") && tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4) {\n return ok2(code2);\n }\n return effects.interrupt(self.parser.constructs.flow, nok, ok2)(code2);\n }\n}\nfunction factoryDestination(effects, ok2, nok, type, literalType, literalMarkerType, rawType, stringType, max) {\n const limit = max || Number.POSITIVE_INFINITY;\n let balance = 0;\n return start;\n function start(code2) {\n if (code2 === 60) {\n effects.enter(type);\n effects.enter(literalType);\n effects.enter(literalMarkerType);\n effects.consume(code2);\n effects.exit(literalMarkerType);\n return destinationEnclosedBefore;\n }\n if (code2 === null || code2 === 41 || asciiControl(code2)) {\n return nok(code2);\n }\n effects.enter(type);\n effects.enter(rawType);\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return destinationRaw(code2);\n }\n function destinationEnclosedBefore(code2) {\n if (code2 === 62) {\n effects.enter(literalMarkerType);\n effects.consume(code2);\n effects.exit(literalMarkerType);\n effects.exit(literalType);\n effects.exit(type);\n return ok2;\n }\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return destinationEnclosed(code2);\n }\n function destinationEnclosed(code2) {\n if (code2 === 62) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n return destinationEnclosedBefore(code2);\n }\n if (code2 === null || code2 === 60 || markdownLineEnding(code2)) {\n return nok(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? destinationEnclosedEscape : destinationEnclosed;\n }\n function destinationEnclosedEscape(code2) {\n if (code2 === 60 || code2 === 62 || code2 === 92) {\n effects.consume(code2);\n return destinationEnclosed;\n }\n return destinationEnclosed(code2);\n }\n function destinationRaw(code2) {\n if (code2 === 40) {\n if (++balance > limit)\n return nok(code2);\n effects.consume(code2);\n return destinationRaw;\n }\n if (code2 === 41) {\n if (!balance--) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok2(code2);\n }\n effects.consume(code2);\n return destinationRaw;\n }\n if (code2 === null || markdownLineEndingOrSpace(code2)) {\n if (balance)\n return nok(code2);\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok2(code2);\n }\n if (asciiControl(code2))\n return nok(code2);\n effects.consume(code2);\n return code2 === 92 ? destinationRawEscape : destinationRaw;\n }\n function destinationRawEscape(code2) {\n if (code2 === 40 || code2 === 41 || code2 === 92) {\n effects.consume(code2);\n return destinationRaw;\n }\n return destinationRaw(code2);\n }\n}\nfunction factoryLabel(effects, ok2, nok, type, markerType, stringType) {\n const self = this;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n effects.enter(stringType);\n return atBreak;\n }\n function atBreak(code2) {\n if (code2 === null || code2 === 91 || code2 === 93 && !data || code2 === 94 && !size && \"_hiddenFootnoteSupport\" in self.parser.constructs || size > 999) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(stringType);\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n effects.exit(type);\n return ok2;\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return atBreak;\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return label(code2);\n }\n function label(code2) {\n if (code2 === null || code2 === 91 || code2 === 93 || markdownLineEnding(code2) || size++ > 999) {\n effects.exit(\"chunkString\");\n return atBreak(code2);\n }\n effects.consume(code2);\n data = data || !markdownSpace(code2);\n return code2 === 92 ? labelEscape : label;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return label;\n }\n return label(code2);\n }\n}\nfunction factoryTitle(effects, ok2, nok, type, markerType, stringType) {\n let marker;\n return start;\n function start(code2) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n marker = code2 === 40 ? 41 : code2;\n return atFirstTitleBreak;\n }\n function atFirstTitleBreak(code2) {\n if (code2 === marker) {\n effects.enter(markerType);\n effects.consume(code2);\n effects.exit(markerType);\n effects.exit(type);\n return ok2;\n }\n effects.enter(stringType);\n return atTitleBreak(code2);\n }\n function atTitleBreak(code2) {\n if (code2 === marker) {\n effects.exit(stringType);\n return atFirstTitleBreak(marker);\n }\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, atTitleBreak, \"linePrefix\");\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return title(code2);\n }\n function title(code2) {\n if (code2 === marker || code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"chunkString\");\n return atTitleBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? titleEscape : title;\n }\n function titleEscape(code2) {\n if (code2 === marker || code2 === 92) {\n effects.consume(code2);\n return title;\n }\n return title(code2);\n }\n}\nfunction factoryWhitespace(effects, ok2) {\n let seen;\n return start;\n function start(code2) {\n if (markdownLineEnding(code2)) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n seen = true;\n return start;\n }\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n start,\n seen ? \"linePrefix\" : \"lineSuffix\"\n )(code2);\n }\n return ok2(code2);\n }\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nconst definition = {\n name: \"definition\",\n tokenize: tokenizeDefinition\n};\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n};\nfunction tokenizeDefinition(effects, ok2, nok) {\n const self = this;\n let identifier;\n return start;\n function start(code2) {\n effects.enter(\"definition\");\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n \"definitionLabel\",\n \"definitionLabelMarker\",\n \"definitionLabelString\"\n )(code2);\n }\n function labelAfter(code2) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n );\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, \"whitespace\"),\n factorySpace(effects, after, \"whitespace\")\n ),\n nok,\n \"definitionDestination\",\n \"definitionDestinationLiteral\",\n \"definitionDestinationLiteralMarker\",\n \"definitionDestinationRaw\",\n \"definitionDestinationString\"\n )\n );\n }\n return nok(code2);\n }\n function after(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"definition\");\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier);\n }\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeTitle(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownLineEndingOrSpace(code2) ? factoryWhitespace(effects, before)(code2) : nok(code2);\n }\n function before(code2) {\n if (code2 === 34 || code2 === 39 || code2 === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, \"whitespace\"),\n nok,\n \"definitionTitle\",\n \"definitionTitleMarker\",\n \"definitionTitleString\"\n )(code2);\n }\n return nok(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst hardBreakEscape = {\n name: \"hardBreakEscape\",\n tokenize: tokenizeHardBreakEscape\n};\nfunction tokenizeHardBreakEscape(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"hardBreakEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code2);\n return open;\n }\n function open(code2) {\n if (markdownLineEnding(code2)) {\n effects.exit(\"escapeMarker\");\n effects.exit(\"hardBreakEscape\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nconst headingAtx = {\n name: \"headingAtx\",\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n};\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2;\n let contentStart = 3;\n let content2;\n let text2;\n if (events[contentStart][1].type === \"whitespace\") {\n contentStart += 2;\n }\n if (contentEnd - 2 > contentStart && events[contentEnd][1].type === \"whitespace\") {\n contentEnd -= 2;\n }\n if (events[contentEnd][1].type === \"atxHeadingSequence\" && (contentStart === contentEnd - 1 || contentEnd - 4 > contentStart && events[contentEnd - 2][1].type === \"whitespace\")) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;\n }\n if (contentEnd > contentStart) {\n content2 = {\n type: \"atxHeadingText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n };\n text2 = {\n type: \"chunkText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: \"text\"\n };\n splice(events, contentStart, contentEnd - contentStart + 1, [\n [\"enter\", content2, context],\n [\"enter\", text2, context],\n [\"exit\", text2, context],\n [\"exit\", content2, context]\n ]);\n }\n return events;\n}\nfunction tokenizeHeadingAtx(effects, ok2, nok) {\n const self = this;\n let size = 0;\n return start;\n function start(code2) {\n effects.enter(\"atxHeading\");\n effects.enter(\"atxHeadingSequence\");\n return fenceOpenInside(code2);\n }\n function fenceOpenInside(code2) {\n if (code2 === 35 && size++ < 6) {\n effects.consume(code2);\n return fenceOpenInside;\n }\n if (code2 === null || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"atxHeadingSequence\");\n return self.interrupt ? ok2(code2) : headingBreak(code2);\n }\n return nok(code2);\n }\n function headingBreak(code2) {\n if (code2 === 35) {\n effects.enter(\"atxHeadingSequence\");\n return sequence(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"atxHeading\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headingBreak, \"whitespace\")(code2);\n }\n effects.enter(\"atxHeadingText\");\n return data(code2);\n }\n function sequence(code2) {\n if (code2 === 35) {\n effects.consume(code2);\n return sequence;\n }\n effects.exit(\"atxHeadingSequence\");\n return headingBreak(code2);\n }\n function data(code2) {\n if (code2 === null || code2 === 35 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"atxHeadingText\");\n return headingBreak(code2);\n }\n effects.consume(code2);\n return data;\n }\n}\nconst htmlBlockNames = [\n \"address\",\n \"article\",\n \"aside\",\n \"base\",\n \"basefont\",\n \"blockquote\",\n \"body\",\n \"caption\",\n \"center\",\n \"col\",\n \"colgroup\",\n \"dd\",\n \"details\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"html\",\n \"iframe\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"menu\",\n \"menuitem\",\n \"nav\",\n \"noframes\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"p\",\n \"param\",\n \"section\",\n \"summary\",\n \"table\",\n \"tbody\",\n \"td\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"title\",\n \"tr\",\n \"track\",\n \"ul\"\n];\nconst htmlRawNames = [\"pre\", \"script\", \"style\", \"textarea\"];\nconst htmlFlow = {\n name: \"htmlFlow\",\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n};\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n};\nfunction resolveToHtmlFlow(events) {\n let index2 = events.length;\n while (index2--) {\n if (events[index2][0] === \"enter\" && events[index2][1].type === \"htmlFlow\") {\n break;\n }\n }\n if (index2 > 1 && events[index2 - 2][1].type === \"linePrefix\") {\n events[index2][1].start = events[index2 - 2][1].start;\n events[index2 + 1][1].start = events[index2 - 2][1].start;\n events.splice(index2 - 2, 2);\n }\n return events;\n}\nfunction tokenizeHtmlFlow(effects, ok2, nok) {\n const self = this;\n let kind;\n let startTag;\n let buffer;\n let index2;\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"htmlFlow\");\n effects.enter(\"htmlFlowData\");\n effects.consume(code2);\n return open;\n }\n function open(code2) {\n if (code2 === 33) {\n effects.consume(code2);\n return declarationStart;\n }\n if (code2 === 47) {\n effects.consume(code2);\n return tagCloseStart;\n }\n if (code2 === 63) {\n effects.consume(code2);\n kind = 3;\n return self.interrupt ? ok2 : continuationDeclarationInside;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n buffer = String.fromCharCode(code2);\n startTag = true;\n return tagName;\n }\n return nok(code2);\n }\n function declarationStart(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n kind = 2;\n return commentOpenInside;\n }\n if (code2 === 91) {\n effects.consume(code2);\n kind = 5;\n buffer = \"CDATA[\";\n index2 = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n kind = 4;\n return self.interrupt ? ok2 : continuationDeclarationInside;\n }\n return nok(code2);\n }\n function commentOpenInside(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return self.interrupt ? ok2 : continuationDeclarationInside;\n }\n return nok(code2);\n }\n function cdataOpenInside(code2) {\n if (code2 === buffer.charCodeAt(index2++)) {\n effects.consume(code2);\n return index2 === buffer.length ? self.interrupt ? ok2 : continuation : cdataOpenInside;\n }\n return nok(code2);\n }\n function tagCloseStart(code2) {\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n buffer = String.fromCharCode(code2);\n return tagName;\n }\n return nok(code2);\n }\n function tagName(code2) {\n if (code2 === null || code2 === 47 || code2 === 62 || markdownLineEndingOrSpace(code2)) {\n if (code2 !== 47 && startTag && htmlRawNames.includes(buffer.toLowerCase())) {\n kind = 1;\n return self.interrupt ? ok2(code2) : continuation(code2);\n }\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6;\n if (code2 === 47) {\n effects.consume(code2);\n return basicSelfClosing;\n }\n return self.interrupt ? ok2(code2) : continuation(code2);\n }\n kind = 7;\n return self.interrupt && !self.parser.lazy[self.now().line] ? nok(code2) : startTag ? completeAttributeNameBefore(code2) : completeClosingTagAfter(code2);\n }\n if (code2 === 45 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n buffer += String.fromCharCode(code2);\n return tagName;\n }\n return nok(code2);\n }\n function basicSelfClosing(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n return self.interrupt ? ok2 : continuation;\n }\n return nok(code2);\n }\n function completeClosingTagAfter(code2) {\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeClosingTagAfter;\n }\n return completeEnd(code2);\n }\n function completeAttributeNameBefore(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n return completeEnd;\n }\n if (code2 === 58 || code2 === 95 || asciiAlpha(code2)) {\n effects.consume(code2);\n return completeAttributeName;\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAttributeNameBefore;\n }\n return completeEnd(code2);\n }\n function completeAttributeName(code2) {\n if (code2 === 45 || code2 === 46 || code2 === 58 || code2 === 95 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return completeAttributeName;\n }\n return completeAttributeNameAfter(code2);\n }\n function completeAttributeNameAfter(code2) {\n if (code2 === 61) {\n effects.consume(code2);\n return completeAttributeValueBefore;\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAttributeNameAfter;\n }\n return completeAttributeNameBefore(code2);\n }\n function completeAttributeValueBefore(code2) {\n if (code2 === null || code2 === 60 || code2 === 61 || code2 === 62 || code2 === 96) {\n return nok(code2);\n }\n if (code2 === 34 || code2 === 39) {\n effects.consume(code2);\n marker = code2;\n return completeAttributeValueQuoted;\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAttributeValueBefore;\n }\n marker = null;\n return completeAttributeValueUnquoted(code2);\n }\n function completeAttributeValueQuoted(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n return nok(code2);\n }\n if (code2 === marker) {\n effects.consume(code2);\n return completeAttributeValueQuotedAfter;\n }\n effects.consume(code2);\n return completeAttributeValueQuoted;\n }\n function completeAttributeValueUnquoted(code2) {\n if (code2 === null || code2 === 34 || code2 === 39 || code2 === 60 || code2 === 61 || code2 === 62 || code2 === 96 || markdownLineEndingOrSpace(code2)) {\n return completeAttributeNameAfter(code2);\n }\n effects.consume(code2);\n return completeAttributeValueUnquoted;\n }\n function completeAttributeValueQuotedAfter(code2) {\n if (code2 === 47 || code2 === 62 || markdownSpace(code2)) {\n return completeAttributeNameBefore(code2);\n }\n return nok(code2);\n }\n function completeEnd(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n return completeAfter;\n }\n return nok(code2);\n }\n function completeAfter(code2) {\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return completeAfter;\n }\n return code2 === null || markdownLineEnding(code2) ? continuation(code2) : nok(code2);\n }\n function continuation(code2) {\n if (code2 === 45 && kind === 2) {\n effects.consume(code2);\n return continuationCommentInside;\n }\n if (code2 === 60 && kind === 1) {\n effects.consume(code2);\n return continuationRawTagOpen;\n }\n if (code2 === 62 && kind === 4) {\n effects.consume(code2);\n return continuationClose;\n }\n if (code2 === 63 && kind === 3) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n if (code2 === 93 && kind === 5) {\n effects.consume(code2);\n return continuationCharacterDataInside;\n }\n if (markdownLineEnding(code2) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return continuationAtLineEnding(code2);\n }\n effects.consume(code2);\n return continuation;\n }\n function continuationAtLineEnding(code2) {\n effects.exit(\"htmlFlowData\");\n return htmlContinueStart(code2);\n }\n function htmlContinueStart(code2) {\n if (code2 === null) {\n return done(code2);\n }\n if (markdownLineEnding(code2)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code2);\n }\n effects.enter(\"htmlFlowData\");\n return continuation(code2);\n }\n function htmlLineEnd(effects2, ok3, nok2) {\n return start2;\n function start2(code2) {\n effects2.enter(\"lineEnding\");\n effects2.consume(code2);\n effects2.exit(\"lineEnding\");\n return lineStart;\n }\n function lineStart(code2) {\n return self.parser.lazy[self.now().line] ? nok2(code2) : ok3(code2);\n }\n }\n function continuationCommentInside(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n return continuation(code2);\n }\n function continuationRawTagOpen(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n buffer = \"\";\n return continuationRawEndTag;\n }\n return continuation(code2);\n }\n function continuationRawEndTag(code2) {\n if (code2 === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code2);\n return continuationClose;\n }\n if (asciiAlpha(code2) && buffer.length < 8) {\n effects.consume(code2);\n buffer += String.fromCharCode(code2);\n return continuationRawEndTag;\n }\n return continuation(code2);\n }\n function continuationCharacterDataInside(code2) {\n if (code2 === 93) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n return continuation(code2);\n }\n function continuationDeclarationInside(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n return continuationClose;\n }\n if (code2 === 45 && kind === 2) {\n effects.consume(code2);\n return continuationDeclarationInside;\n }\n return continuation(code2);\n }\n function continuationClose(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"htmlFlowData\");\n return done(code2);\n }\n effects.consume(code2);\n return continuationClose;\n }\n function done(code2) {\n effects.exit(\"htmlFlow\");\n return ok2(code2);\n }\n}\nfunction tokenizeNextBlank(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.exit(\"htmlFlowData\");\n effects.enter(\"lineEndingBlank\");\n effects.consume(code2);\n effects.exit(\"lineEndingBlank\");\n return effects.attempt(blankLine, ok2, nok);\n }\n}\nconst htmlText = {\n name: \"htmlText\",\n tokenize: tokenizeHtmlText\n};\nfunction tokenizeHtmlText(effects, ok2, nok) {\n const self = this;\n let marker;\n let buffer;\n let index2;\n let returnState;\n return start;\n function start(code2) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code2);\n return open;\n }\n function open(code2) {\n if (code2 === 33) {\n effects.consume(code2);\n return declarationOpen;\n }\n if (code2 === 47) {\n effects.consume(code2);\n return tagCloseStart;\n }\n if (code2 === 63) {\n effects.consume(code2);\n return instruction;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return tagOpen;\n }\n return nok(code2);\n }\n function declarationOpen(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return commentOpen;\n }\n if (code2 === 91) {\n effects.consume(code2);\n buffer = \"CDATA[\";\n index2 = 0;\n return cdataOpen;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return declaration;\n }\n return nok(code2);\n }\n function commentOpen(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return commentStart;\n }\n return nok(code2);\n }\n function commentStart(code2) {\n if (code2 === null || code2 === 62) {\n return nok(code2);\n }\n if (code2 === 45) {\n effects.consume(code2);\n return commentStartDash;\n }\n return comment(code2);\n }\n function commentStartDash(code2) {\n if (code2 === null || code2 === 62) {\n return nok(code2);\n }\n return comment(code2);\n }\n function comment(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 45) {\n effects.consume(code2);\n return commentClose;\n }\n if (markdownLineEnding(code2)) {\n returnState = comment;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return comment;\n }\n function commentClose(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return end;\n }\n return comment(code2);\n }\n function cdataOpen(code2) {\n if (code2 === buffer.charCodeAt(index2++)) {\n effects.consume(code2);\n return index2 === buffer.length ? cdata : cdataOpen;\n }\n return nok(code2);\n }\n function cdata(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.consume(code2);\n return cdataClose;\n }\n if (markdownLineEnding(code2)) {\n returnState = cdata;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return cdata;\n }\n function cdataClose(code2) {\n if (code2 === 93) {\n effects.consume(code2);\n return cdataEnd;\n }\n return cdata(code2);\n }\n function cdataEnd(code2) {\n if (code2 === 62) {\n return end(code2);\n }\n if (code2 === 93) {\n effects.consume(code2);\n return cdataEnd;\n }\n return cdata(code2);\n }\n function declaration(code2) {\n if (code2 === null || code2 === 62) {\n return end(code2);\n }\n if (markdownLineEnding(code2)) {\n returnState = declaration;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return declaration;\n }\n function instruction(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (code2 === 63) {\n effects.consume(code2);\n return instructionClose;\n }\n if (markdownLineEnding(code2)) {\n returnState = instruction;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return instruction;\n }\n function instructionClose(code2) {\n return code2 === 62 ? end(code2) : instruction(code2);\n }\n function tagCloseStart(code2) {\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return tagClose;\n }\n return nok(code2);\n }\n function tagClose(code2) {\n if (code2 === 45 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return tagClose;\n }\n return tagCloseBetween(code2);\n }\n function tagCloseBetween(code2) {\n if (markdownLineEnding(code2)) {\n returnState = tagCloseBetween;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagCloseBetween;\n }\n return end(code2);\n }\n function tagOpen(code2) {\n if (code2 === 45 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return tagOpen;\n }\n if (code2 === 47 || code2 === 62 || markdownLineEndingOrSpace(code2)) {\n return tagOpenBetween(code2);\n }\n return nok(code2);\n }\n function tagOpenBetween(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n return end;\n }\n if (code2 === 58 || code2 === 95 || asciiAlpha(code2)) {\n effects.consume(code2);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenBetween;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagOpenBetween;\n }\n return end(code2);\n }\n function tagOpenAttributeName(code2) {\n if (code2 === 45 || code2 === 46 || code2 === 58 || code2 === 95 || asciiAlphanumeric(code2)) {\n effects.consume(code2);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code2);\n }\n function tagOpenAttributeNameAfter(code2) {\n if (code2 === 61) {\n effects.consume(code2);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenAttributeNameAfter;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code2);\n }\n function tagOpenAttributeValueBefore(code2) {\n if (code2 === null || code2 === 60 || code2 === 61 || code2 === 62 || code2 === 96) {\n return nok(code2);\n }\n if (code2 === 34 || code2 === 39) {\n effects.consume(code2);\n marker = code2;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenAttributeValueBefore;\n return atLineEnding(code2);\n }\n if (markdownSpace(code2)) {\n effects.consume(code2);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code2);\n marker = void 0;\n return tagOpenAttributeValueUnquoted;\n }\n function tagOpenAttributeValueQuoted(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n returnState = tagOpenAttributeValueQuoted;\n return atLineEnding(code2);\n }\n effects.consume(code2);\n return tagOpenAttributeValueQuoted;\n }\n function tagOpenAttributeValueQuotedAfter(code2) {\n if (code2 === 62 || code2 === 47 || markdownLineEndingOrSpace(code2)) {\n return tagOpenBetween(code2);\n }\n return nok(code2);\n }\n function tagOpenAttributeValueUnquoted(code2) {\n if (code2 === null || code2 === 34 || code2 === 39 || code2 === 60 || code2 === 61 || code2 === 96) {\n return nok(code2);\n }\n if (code2 === 62 || markdownLineEndingOrSpace(code2)) {\n return tagOpenBetween(code2);\n }\n effects.consume(code2);\n return tagOpenAttributeValueUnquoted;\n }\n function atLineEnding(code2) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(\n effects,\n afterPrefix,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n );\n }\n function afterPrefix(code2) {\n effects.enter(\"htmlTextData\");\n return returnState(code2);\n }\n function end(code2) {\n if (code2 === 62) {\n effects.consume(code2);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok2;\n }\n return nok(code2);\n }\n}\nconst labelEnd = {\n name: \"labelEnd\",\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n};\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n};\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n};\nfunction resolveAllLabelEnd(events) {\n let index2 = -1;\n let token;\n while (++index2 < events.length) {\n token = events[index2][1];\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n events.splice(index2 + 1, token.type === \"labelImage\" ? 4 : 2);\n token.type = \"data\";\n index2++;\n }\n }\n return events;\n}\nfunction resolveToLabelEnd(events, context) {\n let index2 = events.length;\n let offset = 0;\n let token;\n let open;\n let close;\n let media;\n while (index2--) {\n token = events[index2][1];\n if (open) {\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n if (events[index2][0] === \"enter\" && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index2][0] === \"enter\" && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index2;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index2;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const label = {\n type: \"label\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n };\n const text2 = {\n type: \"labelText\",\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n };\n media = [\n [\"enter\", group, context],\n [\"enter\", label, context]\n ];\n media = push(media, events.slice(open + 1, open + offset + 3));\n media = push(media, [[\"enter\", text2, context]]);\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n );\n media = push(media, [\n [\"exit\", text2, context],\n events[close - 2],\n events[close - 1],\n [\"exit\", label, context]\n ]);\n media = push(media, events.slice(close + 1));\n media = push(media, [[\"exit\", group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\nfunction tokenizeLabelEnd(effects, ok2, nok) {\n const self = this;\n let index2 = self.events.length;\n let labelStart;\n let defined;\n while (index2--) {\n if ((self.events[index2][1].type === \"labelImage\" || self.events[index2][1].type === \"labelLink\") && !self.events[index2][1]._balanced) {\n labelStart = self.events[index2][1];\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart) {\n return nok(code2);\n }\n if (labelStart._inactive)\n return balanced(code2);\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n );\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code2);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return afterLabelEnd;\n }\n function afterLabelEnd(code2) {\n if (code2 === 40) {\n return effects.attempt(\n resourceConstruct,\n ok2,\n defined ? ok2 : balanced\n )(code2);\n }\n if (code2 === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok2,\n defined ? effects.attempt(collapsedReferenceConstruct, ok2, balanced) : balanced\n )(code2);\n }\n return defined ? ok2(code2) : balanced(code2);\n }\n function balanced(code2) {\n labelStart._balanced = true;\n return nok(code2);\n }\n}\nfunction tokenizeResource(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code2);\n effects.exit(\"resourceMarker\");\n return factoryWhitespace(effects, open);\n }\n function open(code2) {\n if (code2 === 41) {\n return end(code2);\n }\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n \"resourceDestination\",\n \"resourceDestinationLiteral\",\n \"resourceDestinationLiteralMarker\",\n \"resourceDestinationRaw\",\n \"resourceDestinationString\",\n 32\n )(code2);\n }\n function destinationAfter(code2) {\n return markdownLineEndingOrSpace(code2) ? factoryWhitespace(effects, between)(code2) : end(code2);\n }\n function between(code2) {\n if (code2 === 34 || code2 === 39 || code2 === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n \"resourceTitle\",\n \"resourceTitleMarker\",\n \"resourceTitleString\"\n )(code2);\n }\n return end(code2);\n }\n function end(code2) {\n if (code2 === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code2);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok2;\n }\n return nok(code2);\n }\n}\nfunction tokenizeFullReference(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n \"reference\",\n \"referenceMarker\",\n \"referenceString\"\n )(code2);\n }\n function afterLabel(code2) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n ) ? ok2(code2) : nok(code2);\n }\n}\nfunction tokenizeCollapsedReference(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code2);\n effects.exit(\"referenceMarker\");\n return open;\n }\n function open(code2) {\n if (code2 === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code2);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok2;\n }\n return nok(code2);\n }\n}\nconst labelStartImage = {\n name: \"labelStartImage\",\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n};\nfunction tokenizeLabelStartImage(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code2);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n function open(code2) {\n if (code2 === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code2);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n return code2 === 94 && \"_hiddenFootnoteSupport\" in self.parser.constructs ? nok(code2) : ok2(code2);\n }\n}\nconst labelStartLink = {\n name: \"labelStartLink\",\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n};\nfunction tokenizeLabelStartLink(effects, ok2, nok) {\n const self = this;\n return start;\n function start(code2) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code2);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n function after(code2) {\n return code2 === 94 && \"_hiddenFootnoteSupport\" in self.parser.constructs ? nok(code2) : ok2(code2);\n }\n}\nconst lineEnding = {\n name: \"lineEnding\",\n tokenize: tokenizeLineEnding\n};\nfunction tokenizeLineEnding(effects, ok2) {\n return start;\n function start(code2) {\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok2, \"linePrefix\");\n }\n}\nconst thematicBreak$1 = {\n name: \"thematicBreak\",\n tokenize: tokenizeThematicBreak\n};\nfunction tokenizeThematicBreak(effects, ok2, nok) {\n let size = 0;\n let marker;\n return start;\n function start(code2) {\n effects.enter(\"thematicBreak\");\n marker = code2;\n return atBreak(code2);\n }\n function atBreak(code2) {\n if (code2 === marker) {\n effects.enter(\"thematicBreakSequence\");\n return sequence(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, atBreak, \"whitespace\")(code2);\n }\n if (size < 3 || code2 !== null && !markdownLineEnding(code2)) {\n return nok(code2);\n }\n effects.exit(\"thematicBreak\");\n return ok2(code2);\n }\n function sequence(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n size++;\n return sequence;\n }\n effects.exit(\"thematicBreakSequence\");\n return atBreak(code2);\n }\n}\nconst list$1 = {\n name: \"list\",\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n};\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n};\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction tokenizeListStart(effects, ok2, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n let initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let size = 0;\n return start;\n function start(code2) {\n const kind = self.containerState.type || (code2 === 42 || code2 === 43 || code2 === 45 ? \"listUnordered\" : \"listOrdered\");\n if (kind === \"listUnordered\" ? !self.containerState.marker || code2 === self.containerState.marker : asciiDigit(code2)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n if (kind === \"listUnordered\") {\n effects.enter(\"listItemPrefix\");\n return code2 === 42 || code2 === 45 ? effects.check(thematicBreak$1, nok, atMarker)(code2) : atMarker(code2);\n }\n if (!self.interrupt || code2 === 49) {\n effects.enter(\"listItemPrefix\");\n effects.enter(\"listItemValue\");\n return inside(code2);\n }\n }\n return nok(code2);\n }\n function inside(code2) {\n if (asciiDigit(code2) && ++size < 10) {\n effects.consume(code2);\n return inside;\n }\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code2 === self.containerState.marker : code2 === 41 || code2 === 46)) {\n effects.exit(\"listItemValue\");\n return atMarker(code2);\n }\n return nok(code2);\n }\n function atMarker(code2) {\n effects.enter(\"listItemMarker\");\n effects.consume(code2);\n effects.exit(\"listItemMarker\");\n self.containerState.marker = self.containerState.marker || code2;\n return effects.check(\n blankLine,\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n );\n }\n function onBlank(code2) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code2);\n }\n function otherPrefix(code2) {\n if (markdownSpace(code2)) {\n effects.enter(\"listItemPrefixWhitespace\");\n effects.consume(code2);\n effects.exit(\"listItemPrefixWhitespace\");\n return endOfPrefix;\n }\n return nok(code2);\n }\n function endOfPrefix(code2) {\n self.containerState.size = initialSize + self.sliceSerialize(effects.exit(\"listItemPrefix\"), true).length;\n return ok2(code2);\n }\n}\nfunction tokenizeListContinuation(effects, ok2, nok) {\n const self = this;\n self.containerState._closeFlow = void 0;\n return effects.check(blankLine, onBlank, notBlank);\n function onBlank(code2) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine;\n return factorySpace(\n effects,\n ok2,\n \"listItemIndent\",\n self.containerState.size + 1\n )(code2);\n }\n function notBlank(code2) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code2)) {\n self.containerState.furtherBlankLines = void 0;\n self.containerState.initialBlankLine = void 0;\n return notInCurrentItem(code2);\n }\n self.containerState.furtherBlankLines = void 0;\n self.containerState.initialBlankLine = void 0;\n return effects.attempt(indentConstruct, ok2, notInCurrentItem)(code2);\n }\n function notInCurrentItem(code2) {\n self.containerState._closeFlow = true;\n self.interrupt = void 0;\n return factorySpace(\n effects,\n effects.attempt(list$1, ok2, nok),\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"listItemIndent\",\n self.containerState.size + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"listItemIndent\" && tail[2].sliceSerialize(tail[1], true).length === self.containerState.size ? ok2(code2) : nok(code2);\n }\n}\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\nfunction tokenizeListItemPrefixWhitespace(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"listItemPrefixWhitespace\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return !markdownSpace(code2) && tail && tail[1].type === \"listItemPrefixWhitespace\" ? ok2(code2) : nok(code2);\n }\n}\nconst setextUnderline = {\n name: \"setextUnderline\",\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n};\nfunction resolveToSetextUnderline(events, context) {\n let index2 = events.length;\n let content2;\n let text2;\n let definition2;\n while (index2--) {\n if (events[index2][0] === \"enter\") {\n if (events[index2][1].type === \"content\") {\n content2 = index2;\n break;\n }\n if (events[index2][1].type === \"paragraph\") {\n text2 = index2;\n }\n } else {\n if (events[index2][1].type === \"content\") {\n events.splice(index2, 1);\n }\n if (!definition2 && events[index2][1].type === \"definition\") {\n definition2 = index2;\n }\n }\n }\n const heading2 = {\n type: \"setextHeading\",\n start: Object.assign({}, events[text2][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n events[text2][1].type = \"setextHeadingText\";\n if (definition2) {\n events.splice(text2, 0, [\"enter\", heading2, context]);\n events.splice(definition2 + 1, 0, [\"exit\", events[content2][1], context]);\n events[content2][1].end = Object.assign({}, events[definition2][1].end);\n } else {\n events[content2][1] = heading2;\n }\n events.push([\"exit\", heading2, context]);\n return events;\n}\nfunction tokenizeSetextUnderline(effects, ok2, nok) {\n const self = this;\n let index2 = self.events.length;\n let marker;\n let paragraph2;\n while (index2--) {\n if (self.events[index2][1].type !== \"lineEnding\" && self.events[index2][1].type !== \"linePrefix\" && self.events[index2][1].type !== \"content\") {\n paragraph2 = self.events[index2][1].type === \"paragraph\";\n break;\n }\n }\n return start;\n function start(code2) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph2)) {\n effects.enter(\"setextHeadingLine\");\n effects.enter(\"setextHeadingLineSequence\");\n marker = code2;\n return closingSequence(code2);\n }\n return nok(code2);\n }\n function closingSequence(code2) {\n if (code2 === marker) {\n effects.consume(code2);\n return closingSequence;\n }\n effects.exit(\"setextHeadingLineSequence\");\n return factorySpace(effects, closingSequenceEnd, \"lineSuffix\")(code2);\n }\n function closingSequenceEnd(code2) {\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"setextHeadingLine\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nconst flow$1 = {\n tokenize: initializeFlow\n};\nfunction initializeFlow(effects) {\n const self = this;\n const initial = effects.attempt(\n blankLine,\n atBlankEnding,\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n \"linePrefix\"\n )\n )\n );\n return initial;\n function atBlankEnding(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"lineEndingBlank\");\n effects.consume(code2);\n effects.exit(\"lineEndingBlank\");\n self.currentConstruct = void 0;\n return initial;\n }\n function afterConstruct(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n self.currentConstruct = void 0;\n return initial;\n }\n}\nconst resolver = {\n resolveAll: createResolver()\n};\nconst string$1 = initializeFactory(\"string\");\nconst text$3 = initializeFactory(\"text\");\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === \"text\" ? resolveAllLineSuffixes : void 0\n )\n };\n function initializeText(effects) {\n const self = this;\n const constructs2 = this.parser.constructs[field];\n const text2 = effects.attempt(constructs2, start, notText);\n return start;\n function start(code2) {\n return atBreak(code2) ? text2(code2) : notText(code2);\n }\n function notText(code2) {\n if (code2 === null) {\n effects.consume(code2);\n return;\n }\n effects.enter(\"data\");\n effects.consume(code2);\n return data;\n }\n function data(code2) {\n if (atBreak(code2)) {\n effects.exit(\"data\");\n return text2(code2);\n }\n effects.consume(code2);\n return data;\n }\n function atBreak(code2) {\n if (code2 === null) {\n return true;\n }\n const list2 = constructs2[code2];\n let index2 = -1;\n if (list2) {\n while (++index2 < list2.length) {\n const item = list2[index2];\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n return false;\n }\n }\n}\nfunction createResolver(extraResolver) {\n return resolveAllText;\n function resolveAllText(events, context) {\n let index2 = -1;\n let enter;\n while (++index2 <= events.length) {\n if (enter === void 0) {\n if (events[index2] && events[index2][1].type === \"data\") {\n enter = index2;\n index2++;\n }\n } else if (!events[index2] || events[index2][1].type !== \"data\") {\n if (index2 !== enter + 2) {\n events[enter][1].end = events[index2 - 1][1].end;\n events.splice(enter + 2, index2 - enter - 2);\n index2 = enter + 2;\n }\n enter = void 0;\n }\n }\n return extraResolver ? extraResolver(events, context) : events;\n }\n}\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0;\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === \"lineEnding\") && events[eventIndex - 1][1].type === \"data\") {\n const data = events[eventIndex - 1][1];\n const chunks = context.sliceStream(data);\n let index2 = chunks.length;\n let bufferIndex = -1;\n let size = 0;\n let tabs;\n while (index2--) {\n const chunk = chunks[index2];\n if (typeof chunk === \"string\") {\n bufferIndex = chunk.length;\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n if (bufferIndex)\n break;\n bufferIndex = -1;\n } else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1)\n ;\n else {\n index2++;\n break;\n }\n }\n if (size) {\n const token = {\n type: eventIndex === events.length || tabs || size < 2 ? \"lineSuffix\" : \"hardBreakTrailing\",\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index2,\n _bufferIndex: index2 ? bufferIndex : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n };\n data.end = Object.assign({}, token.start);\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token);\n } else {\n events.splice(\n eventIndex,\n 0,\n [\"enter\", token, context],\n [\"exit\", token, context]\n );\n eventIndex += 2;\n }\n }\n eventIndex++;\n }\n }\n return events;\n}\nfunction createTokenizer(parser, initialize, from) {\n let point2 = Object.assign(\n from ? Object.assign({}, from) : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n );\n const columnStart = {};\n const resolveAllConstructs = [];\n let chunks = [];\n let stack = [];\n const effects = {\n consume,\n enter,\n exit: exit2,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n };\n let state = initialize.tokenize.call(context, effects);\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n function now() {\n return Object.assign({}, point2);\n }\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n function main() {\n let chunkIndex;\n while (point2._index < chunks.length) {\n const chunk = chunks[point2._index];\n if (typeof chunk === \"string\") {\n chunkIndex = point2._index;\n if (point2._bufferIndex < 0) {\n point2._bufferIndex = 0;\n }\n while (point2._index === chunkIndex && point2._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point2._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n function go(code2) {\n state = state(code2);\n }\n function consume(code2) {\n if (markdownLineEnding(code2)) {\n point2.line++;\n point2.column = 1;\n point2.offset += code2 === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code2 !== -1) {\n point2.column++;\n point2.offset++;\n }\n if (point2._bufferIndex < 0) {\n point2._index++;\n } else {\n point2._bufferIndex++;\n if (point2._bufferIndex === chunks[point2._index].length) {\n point2._bufferIndex = -1;\n point2._index++;\n }\n }\n context.previous = code2;\n }\n function enter(type, fields) {\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push([\"enter\", token, context]);\n stack.push(token);\n return token;\n }\n function exit2(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push([\"exit\", token, context]);\n return token;\n }\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n function constructFactory(onreturn, fields) {\n return hook;\n function hook(constructs2, returnState, bogusState) {\n let listOfConstructs;\n let constructIndex;\n let currentConstruct;\n let info;\n return Array.isArray(constructs2) ? handleListOfConstructs(constructs2) : \"tokenize\" in constructs2 ? handleListOfConstructs([constructs2]) : handleMapOfConstructs(constructs2);\n function handleMapOfConstructs(map) {\n return start;\n function start(code2) {\n const def = code2 !== null && map[code2];\n const all2 = code2 !== null && map.null;\n const list2 = [\n ...Array.isArray(def) ? def : def ? [def] : [],\n ...Array.isArray(all2) ? all2 : all2 ? [all2] : []\n ];\n return handleListOfConstructs(list2)(code2);\n }\n }\n function handleListOfConstructs(list2) {\n listOfConstructs = list2;\n constructIndex = 0;\n if (list2.length === 0) {\n return bogusState;\n }\n return handleConstruct(list2[constructIndex]);\n }\n function handleConstruct(construct) {\n return start;\n function start(code2) {\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok();\n }\n return construct.tokenize.call(\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok2,\n nok\n )(code2);\n }\n }\n function ok2(code2) {\n onreturn(currentConstruct, info);\n return returnState;\n }\n function nok(code2) {\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n function addResult(construct, from2) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(\n context.events,\n from2,\n context.events.length - from2,\n construct.resolve(context.events.slice(from2), context)\n );\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n restore,\n from: startEventsIndex\n };\n function restore() {\n point2 = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n function accountForPotentialSkip() {\n if (point2.line in columnStart && point2.column < 2) {\n point2.column = columnStart[point2.line];\n point2.offset += columnStart[point2.line] - 1;\n }\n }\n}\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n let view;\n if (startIndex === endIndex) {\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n view[0] = view[0].slice(startBufferIndex);\n }\n if (endBufferIndex > 0) {\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\nfunction serializeChunks(chunks, expandTabs) {\n let index2 = -1;\n const result = [];\n let atTab;\n while (++index2 < chunks.length) {\n const chunk = chunks[index2];\n let value;\n if (typeof chunk === \"string\") {\n value = chunk;\n } else\n switch (chunk) {\n case -5: {\n value = \"\\r\";\n break;\n }\n case -4: {\n value = \"\\n\";\n break;\n }\n case -3: {\n value = \"\\r\\n\";\n break;\n }\n case -2: {\n value = expandTabs ? \" \" : \"\t\";\n break;\n }\n case -1: {\n if (!expandTabs && atTab)\n continue;\n value = \" \";\n break;\n }\n default: {\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join(\"\");\n}\nconst document$1 = {\n [42]: list$1,\n [43]: list$1,\n [45]: list$1,\n [48]: list$1,\n [49]: list$1,\n [50]: list$1,\n [51]: list$1,\n [52]: list$1,\n [53]: list$1,\n [54]: list$1,\n [55]: list$1,\n [56]: list$1,\n [57]: list$1,\n [62]: blockQuote\n};\nconst contentInitial = {\n [91]: definition\n};\nconst flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\nconst flow = {\n [35]: headingAtx,\n [42]: thematicBreak$1,\n [45]: [setextUnderline, thematicBreak$1],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak$1,\n [96]: codeFenced,\n [126]: codeFenced\n};\nconst string = {\n [38]: characterReference,\n [92]: characterEscape\n};\nconst text$2 = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\nconst insideSpan = {\n null: [attention, resolver]\n};\nconst attentionMarkers = {\n null: [42, 95]\n};\nconst disable = {\n null: []\n};\nconst defaultConstructs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n document: document$1,\n contentInitial,\n flowInitial,\n flow,\n string,\n text: text$2,\n insideSpan,\n attentionMarkers,\n disable\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction parse$2(options = {}) {\n const constructs2 = combineExtensions(\n [defaultConstructs].concat(options.extensions || [])\n );\n const parser = {\n defined: [],\n lazy: {},\n constructs: constructs2,\n content: create2(content$1),\n document: create2(document$2),\n flow: create2(flow$1),\n string: create2(string$1),\n text: create2(text$3)\n };\n return parser;\n function create2(initial) {\n return creator;\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}\nconst search = /[\\0\\t\\n\\r]/g;\nfunction preprocess() {\n let column = 1;\n let buffer = \"\";\n let start = true;\n let atCarriageReturn;\n return preprocessor;\n function preprocessor(value, encoding, end) {\n const chunks = [];\n let match;\n let next;\n let startPosition;\n let endPosition;\n let code2;\n value = buffer + value.toString(encoding);\n startPosition = 0;\n buffer = \"\";\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = void 0;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== void 0 ? match.index : value.length;\n code2 = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code2 === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = void 0;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = void 0;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code2) {\n case 0: {\n chunks.push(65533);\n column++;\n break;\n }\n case 9: {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next)\n chunks.push(-1);\n break;\n }\n case 10: {\n chunks.push(-4);\n column = 1;\n break;\n }\n default: {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn)\n chunks.push(-5);\n if (buffer)\n chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}\nfunction postprocess(events) {\n while (!subtokenize(events)) {\n }\n return events;\n}\nfunction decodeNumericCharacterReference(value, base2) {\n const code2 = Number.parseInt(value, base2);\n if (code2 < 9 || code2 === 11 || code2 > 13 && code2 < 32 || code2 > 126 && code2 < 160 || code2 > 55295 && code2 < 57344 || code2 > 64975 && code2 < 65008 || (code2 & 65535) === 65535 || (code2 & 65535) === 65534 || code2 > 1114111) {\n return \"\\uFFFD\";\n }\n return String.fromCharCode(code2);\n}\nconst characterEscapeOrReference = /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;\nfunction decodeString(value) {\n return value.replace(characterEscapeOrReference, decode);\n}\nfunction decode($0, $1, $2) {\n if ($1) {\n return $1;\n }\n const head = $2.charCodeAt(0);\n if (head === 35) {\n const head2 = $2.charCodeAt(1);\n const hex = head2 === 120 || head2 === 88;\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10);\n }\n return decodeNamedCharacterReference($2) || $0;\n}\nconst own$6 = {}.hasOwnProperty;\nconst fromMarkdown = function(value, encoding, options) {\n if (typeof encoding !== \"string\") {\n options = encoding;\n encoding = void 0;\n }\n return compiler(options)(\n postprocess(\n parse$2(options).document().write(preprocess()(value, encoding, true))\n )\n );\n};\nfunction compiler(options = {}) {\n const config = configure(\n {\n transforms: [],\n canContainEols: [\n \"emphasis\",\n \"fragment\",\n \"heading\",\n \"paragraph\",\n \"strong\"\n ],\n enter: {\n autolink: opener(link2),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading2),\n blockQuote: opener(blockQuote2),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText2, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition2),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis2),\n hardBreakEscape: opener(hardBreak2),\n hardBreakTrailing: opener(hardBreak2),\n htmlFlow: opener(html2, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html2, buffer),\n htmlTextData: onenterdata,\n image: opener(image2),\n label: buffer,\n link: opener(link2),\n listItem: opener(listItem2),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list2, onenterlistordered),\n listUnordered: opener(list2),\n paragraph: opener(paragraph2),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading2),\n strong: opener(strong2),\n thematicBreak: opener(thematicBreak2)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n options.mdastExtensions || []\n );\n const data = {};\n return compile;\n function compile(events) {\n let tree = {\n type: \"root\",\n children: []\n };\n const stack = [tree];\n const tokenStack = [];\n const listStack = [];\n const context = {\n stack,\n tokenStack,\n config,\n enter,\n exit: exit2,\n buffer,\n resume,\n setData,\n getData\n };\n let index2 = -1;\n while (++index2 < events.length) {\n if (events[index2][1].type === \"listOrdered\" || events[index2][1].type === \"listUnordered\") {\n if (events[index2][0] === \"enter\") {\n listStack.push(index2);\n } else {\n const tail = listStack.pop();\n index2 = prepareList(events, tail, index2);\n }\n }\n }\n index2 = -1;\n while (++index2 < events.length) {\n const handler = config[events[index2][0]];\n if (own$6.call(handler, events[index2][1].type)) {\n handler[events[index2][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index2][2].sliceSerialize\n },\n context\n ),\n events[index2][1]\n );\n }\n }\n if (tokenStack.length > 0) {\n const tail = tokenStack[tokenStack.length - 1];\n const handler = tail[1] || defaultOnError;\n handler.call(context, void 0, tail[0]);\n }\n tree.position = {\n start: point2(\n events.length > 0 ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point2(\n events.length > 0 ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n };\n index2 = -1;\n while (++index2 < config.transforms.length) {\n tree = config.transforms[index2](tree) || tree;\n }\n return tree;\n }\n function prepareList(events, start, length) {\n let index2 = start - 1;\n let containerBalance = -1;\n let listSpread = false;\n let listItem3;\n let lineIndex;\n let firstBlankLineIndex;\n let atMarker;\n while (++index2 <= length) {\n const event = events[index2];\n if (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\" || event[1].type === \"blockQuote\") {\n if (event[0] === \"enter\") {\n containerBalance++;\n } else {\n containerBalance--;\n }\n atMarker = void 0;\n } else if (event[1].type === \"lineEndingBlank\") {\n if (event[0] === \"enter\") {\n if (listItem3 && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index2;\n }\n atMarker = void 0;\n }\n } else if (event[1].type === \"linePrefix\" || event[1].type === \"listItemValue\" || event[1].type === \"listItemMarker\" || event[1].type === \"listItemPrefix\" || event[1].type === \"listItemPrefixWhitespace\")\n ;\n else {\n atMarker = void 0;\n }\n if (!containerBalance && event[0] === \"enter\" && event[1].type === \"listItemPrefix\" || containerBalance === -1 && event[0] === \"exit\" && (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\")) {\n if (listItem3) {\n let tailIndex = index2;\n lineIndex = void 0;\n while (tailIndex--) {\n const tailEvent = events[tailIndex];\n if (tailEvent[1].type === \"lineEnding\" || tailEvent[1].type === \"lineEndingBlank\") {\n if (tailEvent[0] === \"exit\")\n continue;\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n listSpread = true;\n }\n tailEvent[1].type = \"lineEnding\";\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === \"linePrefix\" || tailEvent[1].type === \"blockQuotePrefix\" || tailEvent[1].type === \"blockQuotePrefixWhitespace\" || tailEvent[1].type === \"blockQuoteMarker\" || tailEvent[1].type === \"listItemIndent\")\n ;\n else {\n break;\n }\n }\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem3._spread = true;\n }\n listItem3.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n );\n events.splice(lineIndex || index2, 0, [\"exit\", listItem3, event[2]]);\n index2++;\n length++;\n }\n if (event[1].type === \"listItemPrefix\") {\n listItem3 = {\n type: \"listItem\",\n _spread: false,\n start: Object.assign({}, event[1].start)\n };\n events.splice(index2, 0, [\"enter\", listItem3, event[2]]);\n index2++;\n length++;\n firstBlankLineIndex = void 0;\n atMarker = true;\n }\n }\n }\n events[start][1]._spread = listSpread;\n return length;\n }\n function setData(key, value) {\n data[key] = value;\n }\n function getData(key) {\n return data[key];\n }\n function point2(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n }\n function opener(create2, and) {\n return open;\n function open(token) {\n enter.call(this, create2(token), token);\n if (and)\n and.call(this, token);\n }\n }\n function buffer() {\n this.stack.push({\n type: \"fragment\",\n children: []\n });\n }\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1];\n parent.children.push(node);\n this.stack.push(node);\n this.tokenStack.push([token, errorHandler]);\n node.position = {\n start: point2(token.start)\n };\n return node;\n }\n function closer(and) {\n return close;\n function close(token) {\n if (and)\n and.call(this, token);\n exit2.call(this, token);\n }\n }\n function exit2(token, onExitError) {\n const node = this.stack.pop();\n const open = this.tokenStack.pop();\n if (!open) {\n throw new Error(\n \"Cannot close `\" + token.type + \"` (\" + stringifyPosition({\n start: token.start,\n end: token.end\n }) + \"): it\\u2019s not open\"\n );\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0]);\n } else {\n const handler = open[1] || defaultOnError;\n handler.call(this, token, open[0]);\n }\n }\n node.position.end = point2(token.end);\n return node;\n }\n function resume() {\n return toString(this.stack.pop());\n }\n function onenterlistordered() {\n setData(\"expectingFirstListItemValue\", true);\n }\n function onenterlistitemvalue(token) {\n if (getData(\"expectingFirstListItemValue\")) {\n const ancestor = this.stack[this.stack.length - 2];\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10);\n setData(\"expectingFirstListItemValue\");\n }\n }\n function onexitcodefencedfenceinfo() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.lang = data2;\n }\n function onexitcodefencedfencemeta() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.meta = data2;\n }\n function onexitcodefencedfence() {\n if (getData(\"flowCodeInside\"))\n return;\n this.buffer();\n setData(\"flowCodeInside\", true);\n }\n function onexitcodefenced() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, \"\");\n setData(\"flowCodeInside\");\n }\n function onexitcodeindented() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2.replace(/(\\r?\\n|\\r)$/g, \"\");\n }\n function onexitdefinitionlabelstring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n }\n function onexitdefinitiontitlestring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data2;\n }\n function onexitdefinitiondestinationstring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data2;\n }\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1];\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length;\n node.depth = depth;\n }\n }\n function onexitsetextheadingtext() {\n setData(\"setextHeadingSlurpLineEnding\", true);\n }\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1];\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2;\n }\n function onexitsetextheading() {\n setData(\"setextHeadingSlurpLineEnding\");\n }\n function onenterdata(token) {\n const parent = this.stack[this.stack.length - 1];\n let tail = parent.children[parent.children.length - 1];\n if (!tail || tail.type !== \"text\") {\n tail = text2();\n tail.position = {\n start: point2(token.start)\n };\n parent.children.push(tail);\n }\n this.stack.push(tail);\n }\n function onexitdata(token) {\n const tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point2(token.end);\n }\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1];\n if (getData(\"atHardBreak\")) {\n const tail = context.children[context.children.length - 1];\n tail.position.end = point2(token.end);\n setData(\"atHardBreak\");\n return;\n }\n if (!getData(\"setextHeadingSlurpLineEnding\") && config.canContainEols.includes(context.type)) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n function onexithardbreak() {\n setData(\"atHardBreak\", true);\n }\n function onexithtmlflow() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2;\n }\n function onexithtmltext() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2;\n }\n function onexitcodetext() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data2;\n }\n function onexitlink() {\n const context = this.stack[this.stack.length - 1];\n if (getData(\"inReference\")) {\n context.type += \"Reference\";\n context.referenceType = getData(\"referenceType\") || \"shortcut\";\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n }\n setData(\"referenceType\");\n }\n function onexitimage() {\n const context = this.stack[this.stack.length - 1];\n if (getData(\"inReference\")) {\n context.type += \"Reference\";\n context.referenceType = getData(\"referenceType\") || \"shortcut\";\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n }\n setData(\"referenceType\");\n }\n function onexitlabeltext(token) {\n const ancestor = this.stack[this.stack.length - 2];\n const string2 = this.sliceSerialize(token);\n ancestor.label = decodeString(string2);\n ancestor.identifier = normalizeIdentifier(string2).toLowerCase();\n }\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1];\n const value = this.resume();\n const node = this.stack[this.stack.length - 1];\n setData(\"inReference\", true);\n if (node.type === \"link\") {\n node.children = fragment.children;\n } else {\n node.alt = value;\n }\n }\n function onexitresourcedestinationstring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data2;\n }\n function onexitresourcetitlestring() {\n const data2 = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data2;\n }\n function onexitresource() {\n setData(\"inReference\");\n }\n function onenterreference() {\n setData(\"referenceType\", \"collapsed\");\n }\n function onexitreferencestring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n setData(\"referenceType\", \"full\");\n }\n function onexitcharacterreferencemarker(token) {\n setData(\"characterReferenceType\", token.type);\n }\n function onexitcharacterreferencevalue(token) {\n const data2 = this.sliceSerialize(token);\n const type = getData(\"characterReferenceType\");\n let value;\n if (type) {\n value = decodeNumericCharacterReference(\n data2,\n type === \"characterReferenceMarkerNumeric\" ? 10 : 16\n );\n setData(\"characterReferenceType\");\n } else {\n value = decodeNamedCharacterReference(data2);\n }\n const tail = this.stack.pop();\n tail.value += value;\n tail.position.end = point2(token.end);\n }\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = this.sliceSerialize(token);\n }\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = \"mailto:\" + this.sliceSerialize(token);\n }\n function blockQuote2() {\n return {\n type: \"blockquote\",\n children: []\n };\n }\n function codeFlow() {\n return {\n type: \"code\",\n lang: null,\n meta: null,\n value: \"\"\n };\n }\n function codeText2() {\n return {\n type: \"inlineCode\",\n value: \"\"\n };\n }\n function definition2() {\n return {\n type: \"definition\",\n identifier: \"\",\n label: null,\n title: null,\n url: \"\"\n };\n }\n function emphasis2() {\n return {\n type: \"emphasis\",\n children: []\n };\n }\n function heading2() {\n return {\n type: \"heading\",\n depth: void 0,\n children: []\n };\n }\n function hardBreak2() {\n return {\n type: \"break\"\n };\n }\n function html2() {\n return {\n type: \"html\",\n value: \"\"\n };\n }\n function image2() {\n return {\n type: \"image\",\n title: null,\n url: \"\",\n alt: null\n };\n }\n function link2() {\n return {\n type: \"link\",\n title: null,\n url: \"\",\n children: []\n };\n }\n function list2(token) {\n return {\n type: \"list\",\n ordered: token.type === \"listOrdered\",\n start: null,\n spread: token._spread,\n children: []\n };\n }\n function listItem2(token) {\n return {\n type: \"listItem\",\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n function paragraph2() {\n return {\n type: \"paragraph\",\n children: []\n };\n }\n function strong2() {\n return {\n type: \"strong\",\n children: []\n };\n }\n function text2() {\n return {\n type: \"text\",\n value: \"\"\n };\n }\n function thematicBreak2() {\n return {\n type: \"thematicBreak\"\n };\n }\n}\nfunction configure(combined, extensions) {\n let index2 = -1;\n while (++index2 < extensions.length) {\n const value = extensions[index2];\n if (Array.isArray(value)) {\n configure(combined, value);\n } else {\n extension(combined, value);\n }\n }\n return combined;\n}\nfunction extension(combined, extension2) {\n let key;\n for (key in extension2) {\n if (own$6.call(extension2, key)) {\n const list2 = key === \"canContainEols\" || key === \"transforms\";\n const maybe = own$6.call(combined, key) ? combined[key] : void 0;\n const left = maybe || (combined[key] = list2 ? [] : {});\n const right = extension2[key];\n if (right) {\n if (list2) {\n combined[key] = [...left, ...right];\n } else {\n Object.assign(left, right);\n }\n }\n }\n }\n}\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n \"Cannot close `\" + left.type + \"` (\" + stringifyPosition({\n start: left.start,\n end: left.end\n }) + \"): a different token (`\" + right.type + \"`, \" + stringifyPosition({\n start: right.start,\n end: right.end\n }) + \") is open\"\n );\n } else {\n throw new Error(\n \"Cannot close document, a token (`\" + right.type + \"`, \" + stringifyPosition({\n start: right.start,\n end: right.end\n }) + \") is still open\"\n );\n }\n}\nfunction remarkParse(options) {\n const parser = (doc) => {\n const settings = this.data(\"settings\");\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n extensions: this.data(\"micromarkExtensions\") || [],\n mdastExtensions: this.data(\"fromMarkdownExtensions\") || []\n })\n );\n };\n Object.assign(this, { Parser: parser });\n}\nconst convert$2 = function(test) {\n if (test === void 0 || test === null) {\n return ok$1;\n }\n if (typeof test === \"string\") {\n return typeFactory$1(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory$1(test) : propsFactory(test);\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n};\nfunction anyFactory$1(tests) {\n const checks2 = [];\n let index2 = -1;\n while (++index2 < tests.length) {\n checks2[index2] = convert$2(tests[index2]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index3 = -1;\n while (++index3 < checks2.length) {\n if (checks2[index3].call(this, ...parameters))\n return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n return castFactory(all2);\n function all2(node) {\n let key;\n for (key in check) {\n if (node[key] !== check[key])\n return false;\n }\n return true;\n }\n}\nfunction typeFactory$1(check) {\n return castFactory(type);\n function type(node) {\n return node && node.type === check;\n }\n}\nfunction castFactory(check) {\n return assertion;\n function assertion(...parameters) {\n return Boolean(check.call(this, ...parameters));\n }\n}\nfunction ok$1() {\n return true;\n}\nfunction color(d) {\n return d;\n}\nconst CONTINUE$2 = true;\nconst SKIP$2 = \"skip\";\nconst EXIT$2 = false;\nconst visitParents$2 = function(tree, test, visitor2, reverse) {\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n const is = convert$2(test);\n const step = reverse ? -1 : 1;\n factory2(tree, null, [])();\n function factory2(node, index2, parents) {\n const value = typeof node === \"object\" && node !== null ? node : {};\n let name;\n if (typeof value.type === \"string\") {\n name = typeof value.tagName === \"string\" ? value.tagName : typeof value.name === \"string\" ? value.name : void 0;\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(value.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = [];\n let subresult;\n let offset;\n let grandparents;\n if (!test || is(node, index2, parents[parents.length - 1] || null)) {\n result = toResult$1(visitor2(node, parents));\n if (result[0] === EXIT$2) {\n return result;\n }\n }\n if (node.children && result[0] !== SKIP$2) {\n offset = (reverse ? node.children.length : -1) + step;\n grandparents = parents.concat(node);\n while (offset > -1 && offset < node.children.length) {\n subresult = factory2(node.children[offset], offset, grandparents)();\n if (subresult[0] === EXIT$2) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n return result;\n }\n }\n};\nfunction toResult$1(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE$2, value];\n }\n return [value];\n}\nconst visit$2 = function(tree, test, visitor2, reverse) {\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n visitParents$2(tree, test, overload, reverse);\n function overload(node, parents) {\n const parent = parents[parents.length - 1];\n return visitor2(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n );\n }\n};\nconst find$1 = /[\\t ]*(?:\\r?\\n|\\r)/g;\nfunction remarkBreaks() {\n return (tree) => {\n visit$2(tree, \"text\", (node, index2, parent) => {\n const result = [];\n let start = 0;\n find$1.lastIndex = 0;\n let match = find$1.exec(node.value);\n while (match) {\n const position2 = match.index;\n if (start !== position2) {\n result.push({ type: \"text\", value: node.value.slice(start, position2) });\n }\n result.push({ type: \"break\" });\n start = position2 + match[0].length;\n match = find$1.exec(node.value);\n }\n if (result.length > 0 && parent && typeof index2 === \"number\") {\n if (start < node.value.length) {\n result.push({ type: \"text\", value: node.value.slice(start) });\n }\n parent.children.splice(index2, 1, ...result);\n return index2 + result.length;\n }\n });\n };\n}\nvar u = function(type, props, value) {\n var node = { type: String(type) };\n if ((value === void 0 || value === null) && (typeof props === \"string\" || Array.isArray(props))) {\n value = props;\n } else {\n Object.assign(node, props);\n }\n if (Array.isArray(value)) {\n node.children = value;\n } else if (value !== void 0 && value !== null) {\n node.value = String(value);\n }\n return node;\n};\nconst own$5 = {}.hasOwnProperty;\nfunction unknown(h, node) {\n const data = node.data || {};\n if (\"value\" in node && !(own$5.call(data, \"hName\") || own$5.call(data, \"hProperties\") || own$5.call(data, \"hChildren\"))) {\n return h.augment(node, u(\"text\", node.value));\n }\n return h(node, \"div\", all(h, node));\n}\nfunction one(h, node, parent) {\n const type = node && node.type;\n let fn;\n if (!type) {\n throw new Error(\"Expected node, got `\" + node + \"`\");\n }\n if (own$5.call(h.handlers, type)) {\n fn = h.handlers[type];\n } else if (h.passThrough && h.passThrough.includes(type)) {\n fn = returnNode;\n } else {\n fn = h.unknownHandler;\n }\n return (typeof fn === \"function\" ? fn : unknown)(h, node, parent);\n}\nfunction returnNode(h, node) {\n return \"children\" in node ? { ...node, children: all(h, node) } : node;\n}\nfunction all(h, parent) {\n const values = [];\n if (\"children\" in parent) {\n const nodes = parent.children;\n let index2 = -1;\n while (++index2 < nodes.length) {\n const result = one(h, nodes[index2], parent);\n if (result) {\n if (index2 && nodes[index2 - 1].type === \"break\") {\n if (!Array.isArray(result) && result.type === \"text\") {\n result.value = result.value.replace(/^\\s+/, \"\");\n }\n if (!Array.isArray(result) && result.type === \"element\") {\n const head = result.children[0];\n if (head && head.type === \"text\") {\n head.value = head.value.replace(/^\\s+/, \"\");\n }\n }\n }\n if (Array.isArray(result)) {\n values.push(...result);\n } else {\n values.push(result);\n }\n }\n }\n }\n return values;\n}\nconst pointStart = point(\"start\");\nconst pointEnd = point(\"end\");\nfunction point(type) {\n return point2;\n function point2(node) {\n const point3 = node && node.position && node.position[type] || {};\n return {\n line: point3.line || null,\n column: point3.column || null,\n offset: point3.offset > -1 ? point3.offset : null\n };\n }\n}\nfunction generated(node) {\n return !node || !node.position || !node.position.start || !node.position.start.line || !node.position.start.column || !node.position.end || !node.position.end.line || !node.position.end.column;\n}\nconst own$4 = {}.hasOwnProperty;\nfunction definitions(node) {\n const cache = /* @__PURE__ */ Object.create(null);\n if (!node || !node.type) {\n throw new Error(\"mdast-util-definitions expected node\");\n }\n visit$2(node, \"definition\", (definition3) => {\n const id = clean(definition3.identifier);\n if (id && !own$4.call(cache, id)) {\n cache[id] = definition3;\n }\n });\n return definition2;\n function definition2(identifier) {\n const id = clean(identifier);\n return id && own$4.call(cache, id) ? cache[id] : null;\n }\n}\nfunction clean(value) {\n return String(value || \"\").toUpperCase();\n}\nconst characterReferences = { '\"': \"quot\", \"&\": \"amp\", \"<\": \"lt\", \">\": \"gt\" };\nfunction encode$1(value) {\n return value.replace(/[\"&<>]/g, replace);\n function replace(value2) {\n return \"&\" + characterReferences[value2] + \";\";\n }\n}\nfunction sanitizeUri(url, protocol) {\n const value = encode$1(normalizeUri(url || \"\"));\n if (!protocol) {\n return value;\n }\n const colon = value.indexOf(\":\");\n const questionMark = value.indexOf(\"?\");\n const numberSign = value.indexOf(\"#\");\n const slash = value.indexOf(\"/\");\n if (colon < 0 || slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign || protocol.test(value.slice(0, colon))) {\n return value;\n }\n return \"\";\n}\nfunction normalizeUri(value) {\n const result = [];\n let index2 = -1;\n let start = 0;\n let skip = 0;\n while (++index2 < value.length) {\n const code2 = value.charCodeAt(index2);\n let replace = \"\";\n if (code2 === 37 && asciiAlphanumeric(value.charCodeAt(index2 + 1)) && asciiAlphanumeric(value.charCodeAt(index2 + 2))) {\n skip = 2;\n } else if (code2 < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code2))) {\n replace = String.fromCharCode(code2);\n }\n } else if (code2 > 55295 && code2 < 57344) {\n const next = value.charCodeAt(index2 + 1);\n if (code2 < 56320 && next > 56319 && next < 57344) {\n replace = String.fromCharCode(code2, next);\n skip = 1;\n } else {\n replace = \"\\uFFFD\";\n }\n } else {\n replace = String.fromCharCode(code2);\n }\n if (replace) {\n result.push(value.slice(start, index2), encodeURIComponent(replace));\n start = index2 + skip + 1;\n replace = \"\";\n }\n if (skip) {\n index2 += skip;\n skip = 0;\n }\n }\n return result.join(\"\") + value.slice(start);\n}\nfunction wrap(nodes, loose) {\n const result = [];\n let index2 = -1;\n if (loose) {\n result.push(u(\"text\", \"\\n\"));\n }\n while (++index2 < nodes.length) {\n if (index2)\n result.push(u(\"text\", \"\\n\"));\n result.push(nodes[index2]);\n }\n if (loose && nodes.length > 0) {\n result.push(u(\"text\", \"\\n\"));\n }\n return result;\n}\nfunction footer(h) {\n let index2 = -1;\n const listItems = [];\n while (++index2 < h.footnoteOrder.length) {\n const def = h.footnoteById[h.footnoteOrder[index2].toUpperCase()];\n if (!def) {\n continue;\n }\n const content2 = all(h, def);\n const id = String(def.identifier);\n const safeId = sanitizeUri(id.toLowerCase());\n let referenceIndex = 0;\n const backReferences = [];\n while (++referenceIndex <= h.footnoteCounts[id]) {\n const backReference = {\n type: \"element\",\n tagName: \"a\",\n properties: {\n href: \"#\" + h.clobberPrefix + \"fnref-\" + safeId + (referenceIndex > 1 ? \"-\" + referenceIndex : \"\"),\n dataFootnoteBackref: true,\n className: [\"data-footnote-backref\"],\n ariaLabel: h.footnoteBackLabel\n },\n children: [{ type: \"text\", value: \"\\u21A9\" }]\n };\n if (referenceIndex > 1) {\n backReference.children.push({\n type: \"element\",\n tagName: \"sup\",\n children: [{ type: \"text\", value: String(referenceIndex) }]\n });\n }\n if (backReferences.length > 0) {\n backReferences.push({ type: \"text\", value: \" \" });\n }\n backReferences.push(backReference);\n }\n const tail = content2[content2.length - 1];\n if (tail && tail.type === \"element\" && tail.tagName === \"p\") {\n const tailTail = tail.children[tail.children.length - 1];\n if (tailTail && tailTail.type === \"text\") {\n tailTail.value += \" \";\n } else {\n tail.children.push({ type: \"text\", value: \" \" });\n }\n tail.children.push(...backReferences);\n } else {\n content2.push(...backReferences);\n }\n const listItem2 = {\n type: \"element\",\n tagName: \"li\",\n properties: { id: h.clobberPrefix + \"fn-\" + safeId },\n children: wrap(content2, true)\n };\n if (def.position) {\n listItem2.position = def.position;\n }\n listItems.push(listItem2);\n }\n if (listItems.length === 0) {\n return null;\n }\n return {\n type: \"element\",\n tagName: \"section\",\n properties: { dataFootnotes: true, className: [\"footnotes\"] },\n children: [\n {\n type: \"element\",\n tagName: h.footnoteLabelTagName,\n properties: JSON.parse(JSON.stringify(h.footnoteLabelProperties)),\n children: [u(\"text\", h.footnoteLabel)]\n },\n { type: \"text\", value: \"\\n\" },\n {\n type: \"element\",\n tagName: \"ol\",\n properties: {},\n children: wrap(listItems, true)\n },\n { type: \"text\", value: \"\\n\" }\n ]\n };\n}\nfunction blockquote(h, node) {\n return h(node, \"blockquote\", wrap(all(h, node), true));\n}\nfunction hardBreak(h, node) {\n return [h(node, \"br\"), u(\"text\", \"\\n\")];\n}\nfunction code(h, node) {\n const value = node.value ? node.value + \"\\n\" : \"\";\n const lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/);\n const props = {};\n if (lang) {\n props.className = [\"language-\" + lang];\n }\n const code2 = h(node, \"code\", props, [u(\"text\", value)]);\n if (node.meta) {\n code2.data = { meta: node.meta };\n }\n return h(node.position, \"pre\", [code2]);\n}\nfunction strikethrough(h, node) {\n return h(node, \"del\", all(h, node));\n}\nfunction emphasis(h, node) {\n return h(node, \"em\", all(h, node));\n}\nfunction footnoteReference(h, node) {\n const id = String(node.identifier);\n const safeId = sanitizeUri(id.toLowerCase());\n const index2 = h.footnoteOrder.indexOf(id);\n let counter;\n if (index2 === -1) {\n h.footnoteOrder.push(id);\n h.footnoteCounts[id] = 1;\n counter = h.footnoteOrder.length;\n } else {\n h.footnoteCounts[id]++;\n counter = index2 + 1;\n }\n const reuseCounter = h.footnoteCounts[id];\n return h(node, \"sup\", [\n h(\n node.position,\n \"a\",\n {\n href: \"#\" + h.clobberPrefix + \"fn-\" + safeId,\n id: h.clobberPrefix + \"fnref-\" + safeId + (reuseCounter > 1 ? \"-\" + reuseCounter : \"\"),\n dataFootnoteRef: true,\n ariaDescribedBy: \"footnote-label\"\n },\n [u(\"text\", String(counter))]\n )\n ]);\n}\nfunction footnote(h, node) {\n const footnoteById = h.footnoteById;\n let no = 1;\n while (no in footnoteById)\n no++;\n const identifier = String(no);\n footnoteById[identifier] = {\n type: \"footnoteDefinition\",\n identifier,\n children: [{ type: \"paragraph\", children: node.children }],\n position: node.position\n };\n return footnoteReference(h, {\n type: \"footnoteReference\",\n identifier,\n position: node.position\n });\n}\nfunction heading(h, node) {\n return h(node, \"h\" + node.depth, all(h, node));\n}\nfunction html$2(h, node) {\n return h.dangerous ? h.augment(node, u(\"raw\", node.value)) : null;\n}\nvar encodeCache = {};\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) {\n return cache;\n }\n cache = encodeCache[exclude] = [];\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n if (/^[0-9a-z]$/i.test(ch)) {\n cache.push(ch);\n } else {\n cache.push(\"%\" + (\"0\" + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n return cache;\n}\nfunction encode(string2, exclude, keepEscaped) {\n var i, l, code2, nextCode, cache, result = \"\";\n if (typeof exclude !== \"string\") {\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n if (typeof keepEscaped === \"undefined\") {\n keepEscaped = true;\n }\n cache = getEncodeCache(exclude);\n for (i = 0, l = string2.length; i < l; i++) {\n code2 = string2.charCodeAt(i);\n if (keepEscaped && code2 === 37 && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string2.slice(i + 1, i + 3))) {\n result += string2.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n if (code2 < 128) {\n result += cache[code2];\n continue;\n }\n if (code2 >= 55296 && code2 <= 57343) {\n if (code2 >= 55296 && code2 <= 56319 && i + 1 < l) {\n nextCode = string2.charCodeAt(i + 1);\n if (nextCode >= 56320 && nextCode <= 57343) {\n result += encodeURIComponent(string2[i] + string2[i + 1]);\n i++;\n continue;\n }\n }\n result += \"%EF%BF%BD\";\n continue;\n }\n result += encodeURIComponent(string2[i]);\n }\n return result;\n}\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\nvar encode_1 = encode;\nfunction revert(h, node) {\n const subtype = node.referenceType;\n let suffix = \"]\";\n if (subtype === \"collapsed\") {\n suffix += \"[]\";\n } else if (subtype === \"full\") {\n suffix += \"[\" + (node.label || node.identifier) + \"]\";\n }\n if (node.type === \"imageReference\") {\n return u(\"text\", \"![\" + node.alt + suffix);\n }\n const contents = all(h, node);\n const head = contents[0];\n if (head && head.type === \"text\") {\n head.value = \"[\" + head.value;\n } else {\n contents.unshift(u(\"text\", \"[\"));\n }\n const tail = contents[contents.length - 1];\n if (tail && tail.type === \"text\") {\n tail.value += suffix;\n } else {\n contents.push(u(\"text\", suffix));\n }\n return contents;\n}\nfunction imageReference(h, node) {\n const def = h.definition(node.identifier);\n if (!def) {\n return revert(h, node);\n }\n const props = { src: encode_1(def.url || \"\"), alt: node.alt };\n if (def.title !== null && def.title !== void 0) {\n props.title = def.title;\n }\n return h(node, \"img\", props);\n}\nfunction image(h, node) {\n const props = { src: encode_1(node.url), alt: node.alt };\n if (node.title !== null && node.title !== void 0) {\n props.title = node.title;\n }\n return h(node, \"img\", props);\n}\nfunction inlineCode(h, node) {\n return h(node, \"code\", [u(\"text\", node.value.replace(/\\r?\\n|\\r/g, \" \"))]);\n}\nfunction linkReference(h, node) {\n const def = h.definition(node.identifier);\n if (!def) {\n return revert(h, node);\n }\n const props = { href: encode_1(def.url || \"\") };\n if (def.title !== null && def.title !== void 0) {\n props.title = def.title;\n }\n return h(node, \"a\", props, all(h, node));\n}\nfunction link(h, node) {\n const props = { href: encode_1(node.url) };\n if (node.title !== null && node.title !== void 0) {\n props.title = node.title;\n }\n return h(node, \"a\", props, all(h, node));\n}\nfunction listItem(h, node, parent) {\n const result = all(h, node);\n const loose = parent ? listLoose(parent) : listItemLoose(node);\n const props = {};\n const wrapped = [];\n if (typeof node.checked === \"boolean\") {\n let paragraph2;\n if (result[0] && result[0].type === \"element\" && result[0].tagName === \"p\") {\n paragraph2 = result[0];\n } else {\n paragraph2 = h(null, \"p\", []);\n result.unshift(paragraph2);\n }\n if (paragraph2.children.length > 0) {\n paragraph2.children.unshift(u(\"text\", \" \"));\n }\n paragraph2.children.unshift(\n h(null, \"input\", {\n type: \"checkbox\",\n checked: node.checked,\n disabled: true\n })\n );\n props.className = [\"task-list-item\"];\n }\n let index2 = -1;\n while (++index2 < result.length) {\n const child = result[index2];\n if (loose || index2 !== 0 || child.type !== \"element\" || child.tagName !== \"p\") {\n wrapped.push(u(\"text\", \"\\n\"));\n }\n if (child.type === \"element\" && child.tagName === \"p\" && !loose) {\n wrapped.push(...child.children);\n } else {\n wrapped.push(child);\n }\n }\n const tail = result[result.length - 1];\n if (tail && (loose || !(\"tagName\" in tail) || tail.tagName !== \"p\")) {\n wrapped.push(u(\"text\", \"\\n\"));\n }\n return h(node, \"li\", props, wrapped);\n}\nfunction listLoose(node) {\n let loose = node.spread;\n const children = node.children;\n let index2 = -1;\n while (!loose && ++index2 < children.length) {\n loose = listItemLoose(children[index2]);\n }\n return Boolean(loose);\n}\nfunction listItemLoose(node) {\n const spread = node.spread;\n return spread === void 0 || spread === null ? node.children.length > 1 : spread;\n}\nfunction list(h, node) {\n const props = {};\n const name = node.ordered ? \"ol\" : \"ul\";\n const items = all(h, node);\n let index2 = -1;\n if (typeof node.start === \"number\" && node.start !== 1) {\n props.start = node.start;\n }\n while (++index2 < items.length) {\n const item = items[index2];\n if (item.type === \"element\" && item.tagName === \"li\" && item.properties && Array.isArray(item.properties.className) && item.properties.className.includes(\"task-list-item\")) {\n props.className = [\"contains-task-list\"];\n break;\n }\n }\n return h(node, name, props, wrap(items, true));\n}\nfunction paragraph(h, node) {\n return h(node, \"p\", all(h, node));\n}\nfunction root$1(h, node) {\n return h.augment(node, u(\"root\", wrap(all(h, node))));\n}\nfunction strong(h, node) {\n return h(node, \"strong\", all(h, node));\n}\nfunction table(h, node) {\n const rows = node.children;\n let index2 = -1;\n const align = node.align || [];\n const result = [];\n while (++index2 < rows.length) {\n const row = rows[index2].children;\n const name = index2 === 0 ? \"th\" : \"td\";\n const out = [];\n let cellIndex = -1;\n const length = node.align ? align.length : row.length;\n while (++cellIndex < length) {\n const cell = row[cellIndex];\n out.push(\n h(cell, name, { align: align[cellIndex] }, cell ? all(h, cell) : [])\n );\n }\n result[index2] = h(rows[index2], \"tr\", wrap(out, true));\n }\n return h(\n node,\n \"table\",\n wrap(\n [h(result[0].position, \"thead\", wrap([result[0]], true))].concat(\n result[1] ? h(\n {\n start: pointStart(result[1]),\n end: pointEnd(result[result.length - 1])\n },\n \"tbody\",\n wrap(result.slice(1), true)\n ) : []\n ),\n true\n )\n );\n}\nconst tab = 9;\nconst space = 32;\nfunction trimLines(value) {\n const source = String(value);\n const search2 = /\\r?\\n|\\r/g;\n let match = search2.exec(source);\n let last = 0;\n const lines = [];\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n );\n last = match.index + match[0].length;\n match = search2.exec(source);\n }\n lines.push(trimLine(source.slice(last), last > 0, false));\n return lines.join(\"\");\n}\nfunction trimLine(value, start, end) {\n let startIndex = 0;\n let endIndex = value.length;\n if (start) {\n let code2 = value.codePointAt(startIndex);\n while (code2 === tab || code2 === space) {\n startIndex++;\n code2 = value.codePointAt(startIndex);\n }\n }\n if (end) {\n let code2 = value.codePointAt(endIndex - 1);\n while (code2 === tab || code2 === space) {\n endIndex--;\n code2 = value.codePointAt(endIndex - 1);\n }\n }\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : \"\";\n}\nfunction text$1(h, node) {\n return h.augment(node, u(\"text\", trimLines(String(node.value))));\n}\nfunction thematicBreak(h, node) {\n return h(node, \"hr\");\n}\nconst handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html: html$2,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root: root$1,\n strong,\n table,\n text: text$1,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n};\nfunction ignore() {\n return null;\n}\nconst own$3 = {}.hasOwnProperty;\nfunction factory(tree, options) {\n const settings = options || {};\n const dangerous = settings.allowDangerousHtml || false;\n const footnoteById = {};\n h.dangerous = dangerous;\n h.clobberPrefix = settings.clobberPrefix === void 0 || settings.clobberPrefix === null ? \"user-content-\" : settings.clobberPrefix;\n h.footnoteLabel = settings.footnoteLabel || \"Footnotes\";\n h.footnoteLabelTagName = settings.footnoteLabelTagName || \"h2\";\n h.footnoteLabelProperties = settings.footnoteLabelProperties || {\n id: \"footnote-label\",\n className: [\"sr-only\"]\n };\n h.footnoteBackLabel = settings.footnoteBackLabel || \"Back to content\";\n h.definition = definitions(tree);\n h.footnoteById = footnoteById;\n h.footnoteOrder = [];\n h.footnoteCounts = {};\n h.augment = augment;\n h.handlers = { ...handlers, ...settings.handlers };\n h.unknownHandler = settings.unknownHandler;\n h.passThrough = settings.passThrough;\n visit$2(tree, \"footnoteDefinition\", (definition2) => {\n const id = String(definition2.identifier).toUpperCase();\n if (!own$3.call(footnoteById, id)) {\n footnoteById[id] = definition2;\n }\n });\n return h;\n function augment(left, right) {\n if (left && \"data\" in left && left.data) {\n const data = left.data;\n if (data.hName) {\n if (right.type !== \"element\") {\n right = {\n type: \"element\",\n tagName: \"\",\n properties: {},\n children: []\n };\n }\n right.tagName = data.hName;\n }\n if (right.type === \"element\" && data.hProperties) {\n right.properties = { ...right.properties, ...data.hProperties };\n }\n if (\"children\" in right && right.children && data.hChildren) {\n right.children = data.hChildren;\n }\n }\n if (left) {\n const ctx = \"type\" in left ? left : { position: left };\n if (!generated(ctx)) {\n right.position = { start: pointStart(ctx), end: pointEnd(ctx) };\n }\n }\n return right;\n }\n function h(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props;\n props = {};\n }\n return augment(node, {\n type: \"element\",\n tagName,\n properties: props || {},\n children: children || []\n });\n }\n}\nfunction toHast(tree, options) {\n const h = factory(tree, options);\n const node = one(h, tree, null);\n const foot = footer(h);\n if (foot) {\n node.children.push(u(\"text\", \"\\n\"), foot);\n }\n return Array.isArray(node) ? { type: \"root\", children: node } : node;\n}\nconst remarkRehype = function(destination, options) {\n return destination && \"run\" in destination ? bridge(destination, options) : mutate(destination || options);\n};\nconst remark2rehype = remarkRehype;\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error);\n });\n };\n}\nfunction mutate(options) {\n return (node) => toHast(node, options);\n}\nclass Schema {\n constructor(property, normal, space2) {\n this.property = property;\n this.normal = normal;\n if (space2) {\n this.space = space2;\n }\n }\n}\nSchema.prototype.property = {};\nSchema.prototype.normal = {};\nSchema.prototype.space = null;\nfunction merge(definitions2, space2) {\n const property = {};\n const normal = {};\n let index2 = -1;\n while (++index2 < definitions2.length) {\n Object.assign(property, definitions2[index2].property);\n Object.assign(normal, definitions2[index2].normal);\n }\n return new Schema(property, normal, space2);\n}\nfunction normalize(value) {\n return value.toLowerCase();\n}\nclass Info {\n constructor(property, attribute) {\n this.property = property;\n this.attribute = attribute;\n }\n}\nInfo.prototype.space = null;\nInfo.prototype.boolean = false;\nInfo.prototype.booleanish = false;\nInfo.prototype.overloadedBoolean = false;\nInfo.prototype.number = false;\nInfo.prototype.commaSeparated = false;\nInfo.prototype.spaceSeparated = false;\nInfo.prototype.commaOrSpaceSeparated = false;\nInfo.prototype.mustUseProperty = false;\nInfo.prototype.defined = false;\nlet powers = 0;\nconst boolean = increment();\nconst booleanish = increment();\nconst overloadedBoolean = increment();\nconst number = increment();\nconst spaceSeparated = increment();\nconst commaSeparated = increment();\nconst commaOrSpaceSeparated = increment();\nfunction increment() {\n return 2 ** ++powers;\n}\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n boolean,\n booleanish,\n overloadedBoolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst checks = Object.keys(types);\nclass DefinedInfo extends Info {\n constructor(property, attribute, mask, space2) {\n let index2 = -1;\n super(property, attribute);\n mark(this, \"space\", space2);\n if (typeof mask === \"number\") {\n while (++index2 < checks.length) {\n const check = checks[index2];\n mark(this, checks[index2], (mask & types[check]) === types[check]);\n }\n }\n }\n}\nDefinedInfo.prototype.defined = true;\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value;\n }\n}\nconst own$2 = {}.hasOwnProperty;\nfunction create(definition2) {\n const property = {};\n const normal = {};\n let prop;\n for (prop in definition2.properties) {\n if (own$2.call(definition2.properties, prop)) {\n const value = definition2.properties[prop];\n const info = new DefinedInfo(\n prop,\n definition2.transform(definition2.attributes || {}, prop),\n value,\n definition2.space\n );\n if (definition2.mustUseProperty && definition2.mustUseProperty.includes(prop)) {\n info.mustUseProperty = true;\n }\n property[prop] = info;\n normal[normalize(prop)] = prop;\n normal[normalize(info.attribute)] = prop;\n }\n }\n return new Schema(property, normal, definition2.space);\n}\nconst xlink = create({\n space: \"xlink\",\n transform(_, prop) {\n return \"xlink:\" + prop.slice(5).toLowerCase();\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n});\nconst xml = create({\n space: \"xml\",\n transform(_, prop) {\n return \"xml:\" + prop.slice(3).toLowerCase();\n },\n properties: { xmlLang: null, xmlBase: null, xmlSpace: null }\n});\nfunction caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute;\n}\nfunction caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase());\n}\nconst xmlns = create({\n space: \"xmlns\",\n attributes: { xmlnsxlink: \"xmlns:xlink\" },\n transform: caseInsensitiveTransform,\n properties: { xmlns: null, xmlnsXLink: null }\n});\nconst aria = create({\n transform(_, prop) {\n return prop === \"role\" ? prop : \"aria-\" + prop.slice(4).toLowerCase();\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n});\nconst html$1 = create({\n space: \"html\",\n attributes: {\n acceptcharset: \"accept-charset\",\n classname: \"class\",\n htmlfor: \"for\",\n httpequiv: \"http-equiv\"\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: [\"checked\", \"multiple\", \"muted\", \"selected\"],\n properties: {\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n align: null,\n aLink: null,\n archive: spaceSeparated,\n axis: null,\n background: null,\n bgColor: null,\n border: number,\n borderColor: null,\n bottomMargin: number,\n cellPadding: null,\n cellSpacing: null,\n char: null,\n charOff: null,\n classId: null,\n clear: null,\n code: null,\n codeBase: null,\n codeType: null,\n color: null,\n compact: boolean,\n declare: boolean,\n event: null,\n face: null,\n frame: null,\n frameBorder: null,\n hSpace: number,\n leftMargin: number,\n link: null,\n longDesc: null,\n lowSrc: null,\n marginHeight: number,\n marginWidth: number,\n noResize: boolean,\n noHref: boolean,\n noShade: boolean,\n noWrap: boolean,\n object: null,\n profile: null,\n prompt: null,\n rev: null,\n rightMargin: number,\n rules: null,\n scheme: null,\n scrolling: booleanish,\n standby: null,\n summary: null,\n text: null,\n topMargin: number,\n valueType: null,\n version: null,\n vAlign: null,\n vLink: null,\n vSpace: number,\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n});\nconst svg$1 = create({\n space: \"svg\",\n attributes: {\n accentHeight: \"accent-height\",\n alignmentBaseline: \"alignment-baseline\",\n arabicForm: \"arabic-form\",\n baselineShift: \"baseline-shift\",\n capHeight: \"cap-height\",\n className: \"class\",\n clipPath: \"clip-path\",\n clipRule: \"clip-rule\",\n colorInterpolation: \"color-interpolation\",\n colorInterpolationFilters: \"color-interpolation-filters\",\n colorProfile: \"color-profile\",\n colorRendering: \"color-rendering\",\n crossOrigin: \"crossorigin\",\n dataType: \"datatype\",\n dominantBaseline: \"dominant-baseline\",\n enableBackground: \"enable-background\",\n fillOpacity: \"fill-opacity\",\n fillRule: \"fill-rule\",\n floodColor: \"flood-color\",\n floodOpacity: \"flood-opacity\",\n fontFamily: \"font-family\",\n fontSize: \"font-size\",\n fontSizeAdjust: \"font-size-adjust\",\n fontStretch: \"font-stretch\",\n fontStyle: \"font-style\",\n fontVariant: \"font-variant\",\n fontWeight: \"font-weight\",\n glyphName: \"glyph-name\",\n glyphOrientationHorizontal: \"glyph-orientation-horizontal\",\n glyphOrientationVertical: \"glyph-orientation-vertical\",\n hrefLang: \"hreflang\",\n horizAdvX: \"horiz-adv-x\",\n horizOriginX: \"horiz-origin-x\",\n horizOriginY: \"horiz-origin-y\",\n imageRendering: \"image-rendering\",\n letterSpacing: \"letter-spacing\",\n lightingColor: \"lighting-color\",\n markerEnd: \"marker-end\",\n markerMid: \"marker-mid\",\n markerStart: \"marker-start\",\n navDown: \"nav-down\",\n navDownLeft: \"nav-down-left\",\n navDownRight: \"nav-down-right\",\n navLeft: \"nav-left\",\n navNext: \"nav-next\",\n navPrev: \"nav-prev\",\n navRight: \"nav-right\",\n navUp: \"nav-up\",\n navUpLeft: \"nav-up-left\",\n navUpRight: \"nav-up-right\",\n onAbort: \"onabort\",\n onActivate: \"onactivate\",\n onAfterPrint: \"onafterprint\",\n onBeforePrint: \"onbeforeprint\",\n onBegin: \"onbegin\",\n onCancel: \"oncancel\",\n onCanPlay: \"oncanplay\",\n onCanPlayThrough: \"oncanplaythrough\",\n onChange: \"onchange\",\n onClick: \"onclick\",\n onClose: \"onclose\",\n onCopy: \"oncopy\",\n onCueChange: \"oncuechange\",\n onCut: \"oncut\",\n onDblClick: \"ondblclick\",\n onDrag: \"ondrag\",\n onDragEnd: \"ondragend\",\n onDragEnter: \"ondragenter\",\n onDragExit: \"ondragexit\",\n onDragLeave: \"ondragleave\",\n onDragOver: \"ondragover\",\n onDragStart: \"ondragstart\",\n onDrop: \"ondrop\",\n onDurationChange: \"ondurationchange\",\n onEmptied: \"onemptied\",\n onEnd: \"onend\",\n onEnded: \"onended\",\n onError: \"onerror\",\n onFocus: \"onfocus\",\n onFocusIn: \"onfocusin\",\n onFocusOut: \"onfocusout\",\n onHashChange: \"onhashchange\",\n onInput: \"oninput\",\n onInvalid: \"oninvalid\",\n onKeyDown: \"onkeydown\",\n onKeyPress: \"onkeypress\",\n onKeyUp: \"onkeyup\",\n onLoad: \"onload\",\n onLoadedData: \"onloadeddata\",\n onLoadedMetadata: \"onloadedmetadata\",\n onLoadStart: \"onloadstart\",\n onMessage: \"onmessage\",\n onMouseDown: \"onmousedown\",\n onMouseEnter: \"onmouseenter\",\n onMouseLeave: \"onmouseleave\",\n onMouseMove: \"onmousemove\",\n onMouseOut: \"onmouseout\",\n onMouseOver: \"onmouseover\",\n onMouseUp: \"onmouseup\",\n onMouseWheel: \"onmousewheel\",\n onOffline: \"onoffline\",\n onOnline: \"ononline\",\n onPageHide: \"onpagehide\",\n onPageShow: \"onpageshow\",\n onPaste: \"onpaste\",\n onPause: \"onpause\",\n onPlay: \"onplay\",\n onPlaying: \"onplaying\",\n onPopState: \"onpopstate\",\n onProgress: \"onprogress\",\n onRateChange: \"onratechange\",\n onRepeat: \"onrepeat\",\n onReset: \"onreset\",\n onResize: \"onresize\",\n onScroll: \"onscroll\",\n onSeeked: \"onseeked\",\n onSeeking: \"onseeking\",\n onSelect: \"onselect\",\n onShow: \"onshow\",\n onStalled: \"onstalled\",\n onStorage: \"onstorage\",\n onSubmit: \"onsubmit\",\n onSuspend: \"onsuspend\",\n onTimeUpdate: \"ontimeupdate\",\n onToggle: \"ontoggle\",\n onUnload: \"onunload\",\n onVolumeChange: \"onvolumechange\",\n onWaiting: \"onwaiting\",\n onZoom: \"onzoom\",\n overlinePosition: \"overline-position\",\n overlineThickness: \"overline-thickness\",\n paintOrder: \"paint-order\",\n panose1: \"panose-1\",\n pointerEvents: \"pointer-events\",\n referrerPolicy: \"referrerpolicy\",\n renderingIntent: \"rendering-intent\",\n shapeRendering: \"shape-rendering\",\n stopColor: \"stop-color\",\n stopOpacity: \"stop-opacity\",\n strikethroughPosition: \"strikethrough-position\",\n strikethroughThickness: \"strikethrough-thickness\",\n strokeDashArray: \"stroke-dasharray\",\n strokeDashOffset: \"stroke-dashoffset\",\n strokeLineCap: \"stroke-linecap\",\n strokeLineJoin: \"stroke-linejoin\",\n strokeMiterLimit: \"stroke-miterlimit\",\n strokeOpacity: \"stroke-opacity\",\n strokeWidth: \"stroke-width\",\n tabIndex: \"tabindex\",\n textAnchor: \"text-anchor\",\n textDecoration: \"text-decoration\",\n textRendering: \"text-rendering\",\n typeOf: \"typeof\",\n underlinePosition: \"underline-position\",\n underlineThickness: \"underline-thickness\",\n unicodeBidi: \"unicode-bidi\",\n unicodeRange: \"unicode-range\",\n unitsPerEm: \"units-per-em\",\n vAlphabetic: \"v-alphabetic\",\n vHanging: \"v-hanging\",\n vIdeographic: \"v-ideographic\",\n vMathematical: \"v-mathematical\",\n vectorEffect: \"vector-effect\",\n vertAdvY: \"vert-adv-y\",\n vertOriginX: \"vert-origin-x\",\n vertOriginY: \"vert-origin-y\",\n wordSpacing: \"word-spacing\",\n writingMode: \"writing-mode\",\n xHeight: \"x-height\",\n playbackOrder: \"playbackorder\",\n timelineBegin: \"timelinebegin\"\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null,\n keySplines: null,\n keyTimes: null,\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n});\nconst valid = /^data[-\\w.:]+$/i;\nconst dash = /-[a-z]/g;\nconst cap = /[A-Z]/g;\nfunction find(schema, value) {\n const normal = normalize(value);\n let prop = value;\n let Type = Info;\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]];\n }\n if (normal.length > 4 && normal.slice(0, 4) === \"data\" && valid.test(value)) {\n if (value.charAt(4) === \"-\") {\n const rest = value.slice(5).replace(dash, camelcase);\n prop = \"data\" + rest.charAt(0).toUpperCase() + rest.slice(1);\n } else {\n const rest = value.slice(4);\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab);\n if (dashes.charAt(0) !== \"-\") {\n dashes = \"-\" + dashes;\n }\n value = \"data\" + dashes;\n }\n }\n Type = DefinedInfo;\n }\n return new Type(prop, value);\n}\nfunction kebab($0) {\n return \"-\" + $0.toLowerCase();\n}\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase();\n}\nconst hastToReact = {\n classId: \"classID\",\n dataType: \"datatype\",\n itemId: \"itemID\",\n strokeDashArray: \"strokeDasharray\",\n strokeDashOffset: \"strokeDashoffset\",\n strokeLineCap: \"strokeLinecap\",\n strokeLineJoin: \"strokeLinejoin\",\n strokeMiterLimit: \"strokeMiterlimit\",\n typeOf: \"typeof\",\n xLinkActuate: \"xlinkActuate\",\n xLinkArcRole: \"xlinkArcrole\",\n xLinkHref: \"xlinkHref\",\n xLinkRole: \"xlinkRole\",\n xLinkShow: \"xlinkShow\",\n xLinkTitle: \"xlinkTitle\",\n xLinkType: \"xlinkType\",\n xmlnsXLink: \"xmlnsXlink\"\n};\nconst html = merge([xml, xlink, xmlns, aria, html$1], \"html\");\nconst svg = merge([xml, xlink, xmlns, aria, svg$1], \"svg\");\nfunction stringify$1(values) {\n return values.join(\" \").trim();\n}\nfunction stringify(values, options) {\n var settings = options || {};\n if (values[values.length - 1] === \"\") {\n values = values.concat(\"\");\n }\n return values.join(\n (settings.padRight ? \" \" : \"\") + \",\" + (settings.padLeft === false ? \"\" : \" \")\n ).trim();\n}\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\nvar NEWLINE = \"\\n\";\nvar FORWARD_SLASH = \"/\";\nvar ASTERISK = \"*\";\nvar EMPTY_STRING = \"\";\nvar TYPE_COMMENT = \"comment\";\nvar TYPE_DECLARATION = \"declaration\";\nvar inlineStyleParser = function(style, options) {\n if (typeof style !== \"string\") {\n throw new TypeError(\"First argument must be a string\");\n }\n if (!style)\n return [];\n options = options || {};\n var lineno = 1;\n var column = 1;\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines)\n lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n function position2() {\n var start = { line: lineno, column };\n return function(node) {\n node.position = new Position(start);\n whitespace2();\n return node;\n };\n }\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column };\n this.source = options.source;\n }\n Position.prototype.content = style;\n function error(msg) {\n var err = new Error(\n options.source + \":\" + lineno + \":\" + column + \": \" + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n if (options.silent)\n ;\n else {\n throw err;\n }\n }\n function match(re) {\n var m = re.exec(style);\n if (!m)\n return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n function whitespace2() {\n match(WHITESPACE_REGEX);\n }\n function comments(rules) {\n var c;\n rules = rules || [];\n while (c = comment()) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n function comment() {\n var pos = position2();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1))\n return;\n var i = 2;\n while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) {\n ++i;\n }\n i += 2;\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error(\"End of comment missing\");\n }\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n function declaration() {\n var pos = position2();\n var prop = match(PROPERTY_REGEX);\n if (!prop)\n return;\n comment();\n if (!match(COLON_REGEX))\n return error(\"property missing ':'\");\n var val = match(VALUE_REGEX);\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING\n });\n match(SEMICOLON_REGEX);\n return ret;\n }\n function declarations() {\n var decls = [];\n comments(decls);\n var decl;\n while (decl = declaration()) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n return decls;\n }\n whitespace2();\n return declarations();\n};\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\nvar parse$1 = inlineStyleParser;\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== \"string\") {\n return output;\n }\n var declaration;\n var declarations = parse$1(style);\n var hasIterator = typeof iterator === \"function\";\n var property;\n var value;\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n return output;\n}\nvar styleToObject = StyleToObject;\nconst webNamespaces = {\n html: \"http://www.w3.org/1999/xhtml\",\n mathml: \"http://www.w3.org/1998/Math/MathML\",\n svg: \"http://www.w3.org/2000/svg\",\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\nconst ns = webNamespaces;\nconst toReact = hastToReact;\nconst own$1 = {}.hasOwnProperty;\nconst root = convert$2(\"root\");\nconst element = convert$2(\"element\");\nconst text = convert$2(\"text\");\nfunction toH(h, tree, options) {\n if (typeof h !== \"function\") {\n throw new TypeError(\"h is not a function\");\n }\n const r = react(h);\n const v = vue(h);\n const vd = vdom(h);\n let prefix;\n let node;\n if (typeof options === \"string\" || typeof options === \"boolean\") {\n prefix = options;\n options = {};\n } else {\n if (!options)\n options = {};\n prefix = options.prefix;\n }\n if (root(tree)) {\n node = tree.children.length === 1 && element(tree.children[0]) ? tree.children[0] : {\n type: \"element\",\n tagName: \"div\",\n properties: {},\n children: tree.children\n };\n } else if (element(tree)) {\n node = tree;\n } else {\n throw new Error(\n \"Expected root or element, not `\" + (tree && tree.type || tree) + \"`\"\n );\n }\n return transform(h, node, {\n schema: options.space === \"svg\" ? svg : html,\n prefix: prefix === void 0 || prefix === null ? r || v || vd ? \"h-\" : null : typeof prefix === \"string\" ? prefix : prefix ? \"h-\" : null,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n });\n}\nfunction transform(h, node, ctx) {\n const parentSchema = ctx.schema;\n let schema = parentSchema;\n let name = node.tagName;\n const attributes = {};\n const nodes = [];\n let index2 = -1;\n let key;\n if (parentSchema.space === \"html\" && name.toLowerCase() === \"svg\") {\n schema = svg;\n ctx.schema = schema;\n }\n for (key in node.properties) {\n if (node.properties && own$1.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], ctx, name);\n }\n }\n if (ctx.vdom) {\n if (schema.space === \"html\") {\n name = name.toUpperCase();\n } else if (schema.space) {\n attributes.namespace = ns[schema.space];\n }\n }\n if (ctx.prefix) {\n ctx.key++;\n attributes.key = ctx.prefix + ctx.key;\n }\n if (node.children) {\n while (++index2 < node.children.length) {\n const value = node.children[index2];\n if (element(value)) {\n nodes.push(transform(h, value, ctx));\n } else if (text(value)) {\n nodes.push(value.value);\n }\n }\n }\n ctx.schema = parentSchema;\n return nodes.length > 0 ? h.call(node, name, attributes, nodes) : h.call(node, name, attributes);\n}\nfunction addAttribute(props, prop, value, ctx, name) {\n const info = find(ctx.schema, prop);\n let subprop;\n if (value === void 0 || value === null || typeof value === \"number\" && Number.isNaN(value) || value === false && (ctx.vue || ctx.vdom || ctx.hyperscript) || !value && info.boolean && (ctx.vue || ctx.vdom || ctx.hyperscript)) {\n return;\n }\n if (Array.isArray(value)) {\n value = info.commaSeparated ? stringify(value) : stringify$1(value);\n }\n if (info.boolean && ctx.hyperscript) {\n value = \"\";\n }\n if (info.property === \"style\" && typeof value === \"string\" && (ctx.react || ctx.vue || ctx.vdom)) {\n value = parseStyle(value, name);\n }\n if (ctx.vue) {\n if (info.property !== \"style\")\n subprop = \"attrs\";\n } else if (!info.mustUseProperty) {\n if (ctx.vdom) {\n if (info.property !== \"style\")\n subprop = \"attributes\";\n } else if (ctx.hyperscript) {\n subprop = \"attrs\";\n }\n }\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n });\n } else if (info.space && ctx.react) {\n props[toReact[info.property] || info.property] = value;\n } else {\n props[info.attribute] = value;\n }\n}\nfunction react(h) {\n const node = h(\"div\", {});\n return Boolean(\n node && (\"_owner\" in node || \"_store\" in node) && (node.key === void 0 || node.key === null)\n );\n}\nfunction hyperscript(h) {\n return \"context\" in h && \"cleanup\" in h;\n}\nfunction vdom(h) {\n const node = h(\"div\", {});\n return node.type === \"VirtualNode\";\n}\nfunction vue(h) {\n const node = h(\"div\", {});\n return Boolean(node && node.context && node.context._isVue);\n}\nfunction parseStyle(value, tagName) {\n const result = {};\n try {\n styleToObject(value, (name, value2) => {\n if (name.slice(0, 4) === \"-ms-\")\n name = \"ms-\" + name.slice(4);\n result[name.replace(\n /-([a-z])/g,\n (_, $1) => $1.toUpperCase()\n )] = value2;\n });\n } catch (error) {\n error.message = tagName + \"[style]\" + error.message.slice(\"undefined\".length);\n throw error;\n }\n return result;\n}\nvar convert_1 = convert$1;\nfunction convert$1(test) {\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"object\") {\n return (\"length\" in test ? anyFactory : matchesFactory)(test);\n }\n if (typeof test === \"function\") {\n return test;\n }\n throw new Error(\"Expected function, string, or object as test\");\n}\nfunction convertAll(tests) {\n var results = [];\n var length = tests.length;\n var index2 = -1;\n while (++index2 < length) {\n results[index2] = convert$1(tests[index2]);\n }\n return results;\n}\nfunction matchesFactory(test) {\n return matches;\n function matches(node) {\n var key;\n for (key in test) {\n if (node[key] !== test[key]) {\n return false;\n }\n }\n return true;\n }\n}\nfunction anyFactory(tests) {\n var checks2 = convertAll(tests);\n var length = checks2.length;\n return matches;\n function matches() {\n var index2 = -1;\n while (++index2 < length) {\n if (checks2[index2].apply(this, arguments)) {\n return true;\n }\n }\n return false;\n }\n}\nfunction typeFactory(test) {\n return type;\n function type(node) {\n return Boolean(node && node.type === test);\n }\n}\nfunction ok() {\n return true;\n}\nvar unistUtilVisitParents = visitParents$1;\nvar convert = convert_1;\nvar CONTINUE$1 = true;\nvar SKIP$1 = \"skip\";\nvar EXIT$1 = false;\nvisitParents$1.CONTINUE = CONTINUE$1;\nvisitParents$1.SKIP = SKIP$1;\nvisitParents$1.EXIT = EXIT$1;\nfunction visitParents$1(tree, test, visitor2, reverse) {\n var is;\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n is = convert(test);\n one2(tree, null, []);\n function one2(node, index2, parents) {\n var result = [];\n var subresult;\n if (!test || is(node, index2, parents[parents.length - 1] || null)) {\n result = toResult(visitor2(node, parents));\n if (result[0] === EXIT$1) {\n return result;\n }\n }\n if (node.children && result[0] !== SKIP$1) {\n subresult = toResult(all2(node.children, parents.concat(node)));\n return subresult[0] === EXIT$1 ? subresult : result;\n }\n return result;\n }\n function all2(children, parents) {\n var min = -1;\n var step = reverse ? -1 : 1;\n var index2 = (reverse ? children.length : min) + step;\n var result;\n while (index2 > min && index2 < children.length) {\n result = one2(children[index2], index2, parents);\n if (result[0] === EXIT$1) {\n return result;\n }\n index2 = typeof result[1] === \"number\" ? result[1] : index2 + step;\n }\n }\n}\nfunction toResult(value) {\n if (value !== null && typeof value === \"object\" && \"length\" in value) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE$1, value];\n }\n return [value];\n}\nvar unistUtilVisit = visit$1;\nvar visitParents = unistUtilVisitParents;\nvar CONTINUE = visitParents.CONTINUE;\nvar SKIP = visitParents.SKIP;\nvar EXIT = visitParents.EXIT;\nvisit$1.CONTINUE = CONTINUE;\nvisit$1.SKIP = SKIP;\nvisit$1.EXIT = EXIT;\nfunction visit$1(tree, test, visitor2, reverse) {\n if (typeof test === \"function\" && typeof visitor2 !== \"function\") {\n reverse = visitor2;\n visitor2 = test;\n test = null;\n }\n visitParents(tree, test, overload, reverse);\n function overload(node, parents) {\n var parent = parents[parents.length - 1];\n var index2 = parent ? parent.children.indexOf(node) : null;\n return visitor2(node, index2, parent);\n }\n}\nvar visit = unistUtilVisit;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: \"text-align\",\n valign: \"vertical-align\",\n height: \"height\",\n width: \"width\"\n};\nvar hastUtilTableCellStyle = function tableCellStyle(node) {\n visit(node, \"element\", visitor);\n return node;\n};\nfunction visitor(node) {\n if (node.tagName !== \"tr\" && node.tagName !== \"td\" && node.tagName !== \"th\") {\n return;\n }\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (!hasOwnProperty.call(hastCssPropertyMap, hastName) || node.properties[hastName] === void 0) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || \"\").trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += \";\";\n }\n if (prevStyle) {\n prevStyle += \" \";\n }\n var nextStyle = prevStyle + property + \": \" + value + \";\";\n node.properties.style = nextStyle;\n}\nconst tableCellStyle2 = hastUtilTableCellStyle;\nfunction whitespace(thing) {\n var value = thing && typeof thing === \"object\" && thing.type === \"text\" ? thing.value || \"\" : thing;\n return typeof value === \"string\" && value.replace(/[ \\t\\n\\f\\r]/g, \"\") === \"\";\n}\nconst own = {}.hasOwnProperty;\nconst tableElements = /* @__PURE__ */ new Set([\n \"table\",\n \"thead\",\n \"tbody\",\n \"tfoot\",\n \"tr\",\n \"th\",\n \"td\"\n]);\nfunction rehypeReact(options) {\n if (!options || typeof options.createElement !== \"function\") {\n throw new TypeError(\"createElement is not a function\");\n }\n const createElement = options.createElement;\n Object.assign(this, { Compiler: compiler2 });\n function compiler2(node) {\n let result = toH(h, tableCellStyle2(node), options.prefix);\n if (node.type === \"root\") {\n result = result && typeof result === \"object\" && \"type\" in result && \"props\" in result && result.type === \"div\" && (node.children.length !== 1 || node.children[0].type !== \"element\") ? result.props.children : [result];\n return createElement(options.Fragment || \"div\", {}, result);\n }\n return result;\n }\n function h(name, props, children) {\n if (children && tableElements.has(name)) {\n children = children.filter((child) => !whitespace(child));\n }\n if (options.components && own.call(options.components, name)) {\n const component = options.components[name];\n if (options.passNode && typeof component === \"function\") {\n props = Object.assign({ node: this }, props);\n }\n return createElement(component, props, children);\n }\n return createElement(name, props, children);\n }\n}\nfunction parse(value) {\n const input = String(value || \"\").trim();\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : [];\n}\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\nfunction isAbsoluteUrl(url) {\n if (typeof url !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n }\n if (WINDOWS_PATH_REGEX.test(url)) {\n return false;\n }\n return ABSOLUTE_URL_REGEX.test(url);\n}\nconst defaultTarget = \"_blank\";\nconst defaultRel = [\"nofollow\", \"noopener\", \"noreferrer\"];\nconst defaultProtocols = [\"http\", \"https\"];\nfunction remarkExternalLinks(options = {}) {\n const target = options.target;\n const rel = typeof options.rel === \"string\" ? parse(options.rel) : options.rel;\n const protocols = options.protocols || defaultProtocols;\n const content2 = options.content && !Array.isArray(options.content) ? [options.content] : options.content;\n const contentProperties = options.contentProperties || {};\n return (tree) => {\n const definition2 = definitions(tree);\n visit$2(tree, (node) => {\n if (node.type === \"link\" || node.type === \"linkReference\") {\n const ctx = node.type === \"link\" ? node : definition2(node.identifier);\n if (!ctx)\n return;\n const protocol = ctx.url.slice(0, ctx.url.indexOf(\":\"));\n if (isAbsoluteUrl(ctx.url) && protocols.includes(protocol)) {\n const data = node.data || (node.data = {});\n const props = data.hProperties || (data.hProperties = {});\n if (target !== false) {\n props.target = target || defaultTarget;\n }\n if (rel !== false) {\n props.rel = (rel || defaultRel).concat();\n }\n if (content2) {\n node.children.push({\n type: \"fragment\",\n children: [],\n data: {\n hName: \"span\",\n hProperties: extend(true, contentProperties),\n hChildren: extend(true, content2)\n }\n });\n }\n }\n }\n });\n };\n}\nconst Link = {\n name: \"Link\",\n functional: true,\n props: {\n href: {\n type: String,\n required: true\n }\n },\n render(h, { data, props }) {\n return h(\"a\", {\n attrs: {\n href: props.href,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n class: \"rich-text--external-link\"\n }\n }, [props.href.trim()]);\n }\n};\nconst remarkAutolink = function({ autolink: autolink2, useMarkdown }) {\n return function(tree) {\n if (!useMarkdown || !autolink2) {\n return;\n }\n visit$2(tree, (node) => node.type === \"text\", (node, index2, parent) => {\n let parsed = parseUrl(node.value);\n parsed = parsed.map((n) => {\n if (typeof n === \"string\") {\n return u(\"text\", n);\n }\n return u(\"link\", {\n url: n.props.href\n }, [u(\"text\", n.props.href)]);\n }).filter((x) => x);\n parent.children.splice(index2, 1, ...parsed.flat());\n return [SKIP$2, index2 + parsed.flat().length];\n });\n };\n};\nconst parseUrl = (text2, linkComponent) => {\n let match = URL_PATTERN_AUTOLINK.exec(text2);\n const list2 = [];\n let start = 0;\n while (match !== null) {\n let href = match[2];\n let textAfter;\n let textBefore = text2.substring(start, match.index + match[1].length);\n if (href[0] === \" \") {\n textBefore += href[0];\n href = href.substring(1).trim();\n }\n const lastChar = href[href.length - 1];\n if (lastChar === \".\" || lastChar === \",\" || lastChar === \";\" || match[0][0] === \"(\" && lastChar === \")\") {\n href = href.substring(0, href.length - 1);\n textAfter = lastChar;\n }\n list2.push(textBefore);\n list2.push({ component: Link, props: { href } });\n if (textAfter) {\n list2.push(textAfter);\n }\n start = match.index + match[0].length;\n match = URL_PATTERN_AUTOLINK.exec(text2);\n }\n list2.push(text2.substring(start));\n const joinedText = list2.map((item) => typeof item === \"string\" ? item : item.props.href).join(\"\");\n if (text2 === joinedText) {\n return list2;\n }\n console.error(\"Failed to reassemble the chunked text: \" + text2);\n return text2;\n};\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit$2(ast, (node) => node.type === \"text\", visitor2);\n function visitor2(node, index2, parent) {\n const placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index3, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n node = u(\"element\", { tagName: \"span\" }, [\n ...placeholders\n ]);\n parent.children[index2] = node;\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n });\n }\n return text2;\n};\nconst RichText_vue_vue_type_style_index_0_scoped_a8ade67f_lang = \"\";\nconst _sfc_main = {\n name: \"RichText\",\n components: {\n ReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n references: {\n type: Object,\n default: null\n },\n markdownCssClasses: {\n type: Object,\n default: () => {\n return {\n a: \"rich-text--external-link\",\n ol: \"rich-text--ordered-list\",\n ul: \"rich-text--un-ordered-list\",\n li: \"rich-text--list-item\",\n strong: \"rich-text--strong\",\n em: \"rich-text--italic\",\n h1: \"rich-text--heading rich-text--heading-1\",\n h2: \"rich-text--heading rich-text--heading-2\",\n h3: \"rich-text--heading rich-text--heading-3\",\n h4: \"rich-text--heading rich-text--heading-4\",\n h5: \"rich-text--heading rich-text--heading-5\",\n h6: \"rich-text--heading rich-text--heading-6\",\n hr: \"rich-text--hr\",\n table: \"rich-text--table\",\n pre: \"rich-text--pre\",\n code: \"rich-text--code\",\n blockquote: \"rich-text--blockquote\"\n };\n }\n },\n useMarkdown: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index2, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(ReferenceList, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown\n }).use(remarkExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(remarkBreaks).use(remark2rehype, {\n handlers: {\n component(toHast2, node) {\n return toHast2(node, node.component, { value: node.value });\n }\n }\n }).use(remarkPlaceholder).use(rehypeReact, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(this.text).result;\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(ReferenceList, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n }\n },\n render(h) {\n if (!this.useMarkdown) {\n return this.renderPlaintext(h);\n }\n return this.renderMarkdown(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"a8ade67f\",\n null,\n null\n);\nconst RichText = __component__.exports;\nexport {\n ReferenceList,\n ReferenceWidget,\n RichText,\n RichText as default,\n isWidgetRegistered,\n registerWidget,\n renderWidget\n};\n","/**\n * @copyright Copyright (c) 2021 Louis Chemineau \n *\n * @author Louis Chemineau \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport moment from '@nextcloud/moment'\n\nexport default class ActivityModel {\n\n\t_activity\n\n\t/**\n\t * Create the activity object\n\t *\n\t * @param {object} rawActivity the activity object from the ocs response\n\t */\n\tconstructor(rawActivity) {\n\t\tif (typeof rawActivity !== 'object') {\n\t\t\tthrow new Error('Received activity data is not an object.')\n\t\t}\n\n\t\t// Sanity checks\n\t\tif (typeof rawActivity.activity_id !== 'number') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.type !== 'string' || rawActivity.type.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.subject !== 'string' || rawActivity.subject.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.icon !== 'string' || rawActivity.icon.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\t\tif (typeof rawActivity.datetime !== 'string' || rawActivity.datetime.trim() === '') {\n\t\t\tthrow new Error('The activity_id argument is not a valid string')\n\t\t}\n\n\t\t// store state\n\t\tthis._activity = rawActivity\n\t}\n\n\t/**\n\t * get the activity id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget id() {\n\t\treturn this._activity.id\n\t}\n\n\t/**\n\t * Get the activity app\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget app() {\n\t\treturn this._activity.app\n\t}\n\n\t/**\n\t * Get the activity type\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget type() {\n\t\treturn this._activity.type\n\t}\n\n\t/**\n\t * Get the activity user\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget user() {\n\t\treturn this._activity.user\n\t}\n\n\t/**\n\t * Get the activity subject\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget subject() {\n\t\treturn this._activity.subject\n\t}\n\n\t/**\n\t * Get the activity subject_rich template\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget subjectRichTemplate() {\n\t\treturn this._activity.subject_rich[0]\n\t}\n\n\t/**\n\t * Get the activity subject_rich objects\n\t *\n\t * @return {Object}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget subjectRichObjects() {\n\t\tif (Array.isArray(this._activity.subject_rich[1])) {\n\t\t\treturn {}\n\t\t}\n\n\t\treturn this._activity.subject_rich[1]\n\t}\n\n\t/**\n\t * Get the activity message\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget message() {\n\t\treturn this._activity.message\n\t}\n\n\t/**\n\t * Get the activity message_rich template\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget messageRichTemplate() {\n\t\treturn this._activity.message_rich[0]\n\t}\n\n\t/**\n\t * Get the activity message_rich objects\n\t *\n\t * @return {Object}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget messageRichObjects() {\n\t\tif (Array.isArray(this._activity.message_rich[1])) {\n\t\t\treturn {}\n\t\t}\n\n\t\treturn this._activity.message_rich[1]\n\t}\n\n\t/**\n\t * Get the object_type\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget objectType() {\n\t\treturn this._activity.object_type\n\t}\n\n\t/**\n\t * Get the activity object_id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget objectId() {\n\t\treturn this._activity.object_id\n\t}\n\n\t/**\n\t * Get the activity object_name\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget objectName() {\n\t\treturn this._activity.object_name\n\t}\n\n\t/**\n\t * Get the activity link\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget link() {\n\t\treturn this._activity.link\n\t}\n\n\t/**\n\t * Get the activity icon\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget icon() {\n\t\treturn this._activity.icon\n\t}\n\n\t/**\n\t * Get the activity datetime\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget datetime() {\n\t\treturn this._activity.datetime\n\t}\n\n\t/**\n\t * Get the activity formatted date from the current date\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget dateFromNow() {\n\t\treturn moment(this._activity.datetime).fromNow()\n\t}\n\n\t/**\n\t * Get the activity formatted datetime\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget formattedDate() {\n\t\treturn moment(this._activity.datetime).format('LLL')\n\t}\n\n\t/**\n\t * Get the activity timestamp\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof ActivityModel\n\t */\n\tget timestamp() {\n\t\treturn moment(this._activity.datetime).unix()\n\t}\n\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"rich-text-file\"},[(!_vm.isRoot && _vm.parentPathIsRoot)?_c('a',{attrs:{\"href\":_vm.link}},[_vm._v(_vm._s(_vm.name))]):_vm._e(),_vm._v(\" \"),(!_vm.isRoot && !_vm.parentPathIsRoot)?_c('a',{attrs:{\"title\":_vm.t('activity', 'in {path}', {path: _vm.parentFolder}),\"aria-label\":_vm.t('activity', 'in {path}', {path: _vm.parentFolder}),\"href\":_vm.link}},[_vm._v(_vm._s(_vm.name))]):_vm._e(),_vm._v(\" \"),(_vm.isRoot)?_c('span',{staticClass:\"icon-home\",attrs:{\"title\":_vm.t('activity', 'Home'),\"aria-label\":\"t('activity', 'Home')\"}}):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=style&index=0&id=8696f7f0&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileRichArgument.vue?vue&type=style&index=0&id=8696f7f0&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileRichArgument.vue?vue&type=template&id=8696f7f0&scoped=true&\"\nimport script from \"./FileRichArgument.vue?vue&type=script&lang=js&\"\nexport * from \"./FileRichArgument.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileRichArgument.vue?vue&type=style&index=0&id=8696f7f0&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8696f7f0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailRichArgument.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailRichArgument.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./EmailRichArgument.vue?vue&type=template&id=42f46e36&\"\nimport script from \"./EmailRichArgument.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailRichArgument.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{attrs:{\"href\":`mailto:${_vm.id}`}},[_vm._v(_vm._s(_vm.name))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=style&index=0&id=7e2ba972&prod&scoped=true&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTagRichArgument.vue?vue&type=style&index=0&id=7e2ba972&prod&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SystemTagRichArgument.vue?vue&type=template&id=7e2ba972&scoped=true&\"\nimport script from \"./SystemTagRichArgument.vue?vue&type=script&lang=js&\"\nexport * from \"./SystemTagRichArgument.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SystemTagRichArgument.vue?vue&type=style&index=0&id=7e2ba972&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e2ba972\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('strong',[_vm._v(_vm._s(_vm.name))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarEventRichArgument.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarEventRichArgument.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./CalendarEventRichArgument.vue?vue&type=template&id=7c75a1c2&\"\nimport script from \"./CalendarEventRichArgument.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarEventRichArgument.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{attrs:{\"href\":_vm.link,\"title\":_vm.title}},[_c('strong',[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenGraphRichArgument.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenGraphRichArgument.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./OpenGraphRichArgument.vue?vue&type=template&id=6961e357&\"\nimport script from \"./OpenGraphRichArgument.vue?vue&type=script&lang=js&\"\nexport * from \"./OpenGraphRichArgument.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{attrs:{\"href\":_vm.link}},[_c('div',{staticClass:\"opengraph\",attrs:{\"id\":`opengraph-${_vm.id}`}},[(_vm.thumbIsDefined)?_c('div',{staticClass:\"opengraph-thumb\",style:(`background-image: url('${_vm.thumb}')`)}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"opengraph-name\",class:{'opengraph-with-thumb': _vm.thumbIsDefined}},[_vm._v(_vm._s(_vm.name))]),_vm._v(\" \"),_c('div',{staticClass:\"opengraph-description\",class:{'opengraph-with-thumb': _vm.thumbIsDefined}},[_vm._v(_vm._s(_vm.description))]),_vm._v(\" \"),_c('span',{staticClass:\"opengraph-website\"},[_vm._v(_vm._s(_vm.website))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=style&index=0&id=35ab5901&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=style&index=0&id=35ab5901&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Activity.vue?vue&type=template&id=35ab5901&scoped=true&\"\nimport script from \"./Activity.vue?vue&type=script&lang=js&\"\nexport * from \"./Activity.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Activity.vue?vue&type=style&index=0&id=35ab5901&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35ab5901\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"activity-entry\"},[_c('NcAvatar',{class:[_vm.applyMonochromeIconColor, 'activity-entry__icon', 'activity-icon'],attrs:{\"disable-menu\":true,\"disable-tooltip\":true,\"url\":_vm.activity.icon,\"size\":15}}),_vm._v(\" \"),_c('div',{staticClass:\"activity-entry__content\"},[_c('RichText',{staticClass:\"activity-entry__content__subject\",attrs:{\"text\":_vm.subjectText,\"arguments\":_vm.subjectArguments}}),_vm._v(\" \"),_c('RichText',{staticClass:\"activity-entry__content__message\",attrs:{\"text\":_vm.messageText,\"arguments\":_vm.messageArguments}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.activity.formattedDate))]),_vm._v(\" \"),_c('span',{staticClass:\"activity-entry__date\",attrs:{\"title\":_vm.activity.formattedDate}},[_vm._v(_vm._s(_vm.dateFromNow))])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('Moment',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('form',{staticClass:\"comment__editor\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"comment__editor-group\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"value\":_vm.localMessage,\"user-data\":_vm.userData,\"aria-describedby\":\"tab-comments__editor-description\"},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('div',{staticClass:\"comment__submit\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__editor-description\",attrs:{\"id\":\"tab-comments__editor-description\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', '\"@\" for mentions, \":\" for emoji, \"/\" for smart picker'))+\"\\n\\t\\t\\t\")])]):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Moment.vue?vue&type=template&id=3d8043a2&\"\nimport script from \"./Moment.vue?vue&type=script&lang=js&\"\nexport * from \"./Moment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"live-relative-timestamp\",attrs:{\"data-timestamp\":_vm.timestamp * 1000,\"title\":_vm.title}},[_vm._v(_vm._s(_vm.formatted))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","import { F as _, b as E, a as d, c as I, g as O } from \"./chunks/index-5de47637.mjs\";\nimport { e as S, c as m, d as u, a as F, b as h, T as w, i as g, h as P, s as U, f as V, j as f, g as k } from \"./chunks/toast-5242d1d0.mjs\";\nimport c from \"vue\";\nconst t = (o, e, a = () => {\n}) => {\n const s = document.createElement(\"div\");\n (document.querySelector(e == null ? void 0 : e.container) || document.body).appendChild(s);\n const r = new c({ el: s, name: \"VueDialogHelper\", render: (T) => T(o, { props: e, on: { close: (...i) => {\n a(i), r.$destroy();\n } } }) });\n};\nexport {\n _ as FilePicker,\n E as FilePickerBuilder,\n d as FilePickerType,\n I as FilePickerVue,\n S as TOAST_ARIA_LIVE_ASSERTIVE,\n m as TOAST_ARIA_LIVE_OFF,\n u as TOAST_ARIA_LIVE_POLITE,\n F as TOAST_DEFAULT_TIMEOUT,\n h as TOAST_PERMANENT_TIMEOUT,\n w as TOAST_UNDO_TIMEOUT,\n O as getFilePickerBuilder,\n g as showError,\n P as showInfo,\n U as showMessage,\n V as showSuccess,\n f as showUndo,\n k as showWarning,\n t as spawnDialog\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tressourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.commentsType, this.ressourceId, this.id, message)\n\t\t\t\t// this.logger.debug('Comment edited', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.commentsType, this.ressourceId, this.id)\n\t\t\t\t// this.logger.debug('Comment deleted', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\t//const newComment = await NewComment(this.commentsType, this.ressourceId, message)\n\t\t\t\tconst newComment = await NewComment('files', 3, message)\n\t\t\t\t// this.logger.debug('New comment posted', { commentsType: this.commentsType, ressourceId: this.ressourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(commentsType, ressourceId, commentId, message) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(commentsType, ressourceId, commentId) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(commentsType, ressourceId, message) {\n\tconst ressourcePath = ['', commentsType, ressourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + ressourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: 'files',\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from ressource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = ressourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=317a81a2&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=317a81a2&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=317a81a2&scoped=true&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=317a81a2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"317a81a2\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2021 Louis Chemineau \n *\n * @author Louis Chemineau \n *\n * @license AGPL-3.0-or-later\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 program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('activity')\n\t.detectUser()\n\t.build()\n","/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n const elem = document.querySelector(`#initial-state-${app}-${key}`);\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n throw new Error(`Could not find initial state ${key} of ${app}`);\n }\n try {\n return JSON.parse(atob(elem.value));\n }\n catch (e) {\n throw new Error(`Could not parse initial state ${key} of ${app}`);\n }\n}\n\nexport { loadState };\n//# sourceMappingURL=index.es.mjs.map\n","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=style&index=0&id=5b2ede8d&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityTab.vue?vue&type=style&index=0&id=5b2ede8d&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ActivityTab.vue?vue&type=template&id=5b2ede8d&scoped=true&\"\nimport script from \"./ActivityTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ActivityTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActivityTab.vue?vue&type=style&index=0&id=5b2ede8d&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5b2ede8d\",\n null\n \n)\n\nexport default component.exports","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar valid = require('semver/functions/valid.js');\nvar major = require('semver/functions/major.js');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar valid__default = /*#__PURE__*/_interopDefaultLegacy(valid);\nvar major__default = /*#__PURE__*/_interopDefaultLegacy(major);\n\nvar ProxyBus = /** @class */ (function () {\n function ProxyBus(bus) {\n if (typeof bus.getVersion !== 'function' || !valid__default[\"default\"](bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n }\n else if (major__default[\"default\"](bus.getVersion()) !== major__default[\"default\"](this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n this.bus = bus;\n }\n ProxyBus.prototype.getVersion = function () {\n return \"3.1.0\";\n };\n ProxyBus.prototype.subscribe = function (name, handler) {\n this.bus.subscribe(name, handler);\n };\n ProxyBus.prototype.unsubscribe = function (name, handler) {\n this.bus.unsubscribe(name, handler);\n };\n ProxyBus.prototype.emit = function (name, event) {\n this.bus.emit(name, event);\n };\n return ProxyBus;\n}());\n\nvar SimpleBus = /** @class */ (function () {\n function SimpleBus() {\n this.handlers = new Map();\n }\n SimpleBus.prototype.getVersion = function () {\n return \"3.1.0\";\n };\n SimpleBus.prototype.subscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n };\n SimpleBus.prototype.unsubscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) { return h != handler; }));\n };\n SimpleBus.prototype.emit = function (name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n }\n catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n };\n return SimpleBus;\n}());\n\nvar bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === 'undefined') {\n // testing or SSR\n return new Proxy({}, {\n get: function () {\n return function () { return console.error('Window not available, EventBus can not be established!'); };\n }\n });\n }\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n }\n // Either use an existing event bus instance or create one\n if (typeof (window === null || window === void 0 ? void 0 : window._nc_event_bus) !== 'undefined') {\n bus = new ProxyBus(window._nc_event_bus);\n }\n else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\nfunction subscribe(name, handler) {\n getBus().subscribe(name, handler);\n}\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\nfunction unsubscribe(name, handler) {\n getBus().unsubscribe(name, handler);\n}\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n\nexports.ProxyBus = ProxyBus;\nexports.SimpleBus = SimpleBus;\nexports.emit = emit;\nexports.subscribe = subscribe;\nexports.unsubscribe = unsubscribe;\n//# sourceMappingURL=index.cjs.map\n","import valid from 'semver/functions/valid.js';\nimport major from 'semver/functions/major.js';\n\nclass ProxyBus {\n bus;\n constructor(bus) {\n if (typeof bus.getVersion !== 'function' || !valid(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n }\n else if (major(bus.getVersion()) !== major(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n this.bus = bus;\n }\n getVersion() {\n return \"3.1.0\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\n\nclass SimpleBus {\n handlers = new Map();\n getVersion() {\n return \"3.1.0\";\n }\n subscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n unsubscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(h => h != handler));\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach(h => {\n try {\n h(event);\n }\n catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n }\n}\n\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === 'undefined') {\n // testing or SSR\n return new Proxy({}, {\n get: () => {\n return () => console.error('Window not available, EventBus can not be established!');\n }\n });\n }\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n }\n // Either use an existing event bus instance or create one\n if (typeof window?._nc_event_bus !== 'undefined') {\n bus = new ProxyBus(window._nc_event_bus);\n }\n else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\nfunction subscribe(name, handler) {\n getBus().subscribe(name, handler);\n}\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\nfunction unsubscribe(name, handler) {\n getBus().unsubscribe(name, handler);\n}\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n\nexport { ProxyBus, SimpleBus, emit, subscribe, unsubscribe };\n//# sourceMappingURL=index.mjs.map\n","import { subscribe } from '@nextcloud/event-bus';\n\nlet token = undefined;\nconst observers = [];\n/**\n * Get current request token\n *\n * @return {string|null} Current request token or null if not set\n */\nfunction getRequestToken() {\n if (token === undefined) {\n // Only on first load, try to get token from document\n const tokenElement = document?.getElementsByTagName('head')[0];\n token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\n }\n return token;\n}\n/**\n * Add an observer which is called when the CSRF token changes\n *\n * @param observer The observer\n */\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n}\n// Listen to server event and keep token in sync\nsubscribe('csrf-token-update', e => {\n token = e.token;\n observers.forEach(observer => {\n try {\n observer(e.token);\n }\n catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n\n/// \nconst getAttribute = (el, attribute) => {\n if (el) {\n return el.getAttribute(attribute);\n }\n return null;\n};\nlet currentUser = undefined;\nfunction getCurrentUser() {\n if (currentUser !== undefined) {\n return currentUser;\n }\n const head = document?.getElementsByTagName('head')[0];\n if (!head) {\n return null;\n }\n // No user logged in so cache and return null\n const uid = getAttribute(head, 'data-user');\n if (uid === null) {\n currentUser = null;\n return currentUser;\n }\n currentUser = {\n uid,\n displayName: getAttribute(head, 'data-user-displayname'),\n isAdmin: (typeof OC === 'undefined') ? false : OC.isUserAdmin(),\n };\n return currentUser;\n}\n\nexport { getCurrentUser, getRequestToken, onRequestTokenUpdate };\n//# sourceMappingURL=index.es.mjs.map\n","import GetText from 'node-gettext';\nimport '@nextcloud/router';\nimport 'dompurify';\nimport 'escape-html';\n\n/**\n * Returns the user's locale\n */\n/**\n * Returns the user's language\n */\nfunction getLanguage() {\n return document.documentElement.lang || 'en';\n}\n\n/**\n * This module provides functionality to translate applications independent from Nextcloud\n *\n * @packageDocumentation\n * @module @nextcloud/l10n/gettext\n * @example\n * ```js\nimport { getGettextBuilder } from '@nextcloud/l10n/gettext'\nconst gt = getGettextBuilder()\n .detectLocale() // or use setLanguage()\n .addTranslation(/* ... *\\/)\n .build()\ngt.gettext('some string to translate')\n```\n */\n/**\n * @notExported\n */\nclass GettextBuilder {\n constructor() {\n this.translations = {};\n this.debug = false;\n }\n setLanguage(language) {\n this.locale = language;\n return this;\n }\n /** Try to detect locale from context with `en` as fallback value */\n detectLocale() {\n return this.setLanguage(getLanguage().replace('-', '_'));\n }\n addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n enableDebugMode() {\n this.debug = true;\n return this;\n }\n build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n}\n/**\n * @notExported\n */\nclass GettextWrapper {\n constructor(locale, data, debug) {\n this.gt = new GetText({\n debug,\n sourceLocale: 'en',\n });\n for (const key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n this.gt.setLocale(locale);\n }\n subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, (a, b) => {\n const r = vars[b];\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n }\n else {\n return a;\n }\n });\n }\n /**\n * Get translated string (singular form), optionally with placeholders\n *\n * @param original original string to translate\n * @param placeholders map of placeholder key to value\n */\n gettext(original, placeholders = {}) {\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n /**\n * Get translated string with plural forms\n *\n * @param singular Singular text form\n * @param plural Plural text form to be used if `count` requires it\n * @param count The number to insert into the text\n * @param placeholders optional map of placeholder key to value\n */\n ngettext(singular, plural, count, placeholders = {}) {\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n}\n/**\n * Create a new GettextBuilder instance\n */\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n\nexport { getGettextBuilder };\n","import { getGettextBuilder as c } from \"@nextcloud/l10n/gettext\";\nimport { defineAsyncComponent as T } from \"vue\";\nvar h = Object.defineProperty, d = (t, a, n) => a in t ? h(t, a, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[a] = n, s = (t, a, n) => (d(t, typeof a != \"symbol\" ? a + \"\" : a, n), n), x = ((t) => (t[t.Choose = 1] = \"Choose\", t[t.Move = 2] = \"Move\", t[t.Copy = 3] = \"Copy\", t[t.CopyMove = 4] = \"CopyMove\", t[t.Custom = 5] = \"Custom\", t))(x || {});\nclass L {\n constructor(a, n, r, o, e, i, u, p, g) {\n s(this, \"title\"), s(this, \"multiSelect\"), s(this, \"mimeTypeFiler\"), s(this, \"modal\"), s(this, \"type\"), s(this, \"directoriesAllowed\"), s(this, \"buttons\"), s(this, \"path\"), s(this, \"filter\"), this.title = a, this.multiSelect = n, this.mimeTypeFiler = r, this.modal = o, this.type = e, this.directoriesAllowed = i, this.path = u, this.filter = p, this.buttons = g;\n }\n async pick() {\n const a = (await import(\"../legacy.mjs\")).filepicker;\n return new Promise((n) => {\n var r;\n const o = (r = this.buttons) == null ? void 0 : r.map((e) => ({ defaultButton: e.type === \"primary\", label: e.text, type: e.id }));\n a(this.title, n, this.multiSelect, this.mimeTypeFiler, this.modal, this.type, this.path, { allowDirectoryChooser: this.directoriesAllowed, filter: this.filter, buttons: o });\n });\n }\n}\nclass f {\n constructor(a) {\n s(this, \"title\"), s(this, \"multiSelect\", !1), s(this, \"mimeTypeFiler\", []), s(this, \"modal\", !0), s(this, \"type\", 1), s(this, \"directoriesAllowed\", !1), s(this, \"path\"), s(this, \"filter\"), s(this, \"buttons\", []), this.title = a;\n }\n setMultiSelect(a) {\n return this.multiSelect = a, this;\n }\n addMimeTypeFilter(a) {\n return this.mimeTypeFiler.push(a), this;\n }\n setMimeTypeFilter(a) {\n return this.mimeTypeFiler = a, this;\n }\n addButton(a) {\n return this.buttons.push(a), this;\n }\n setModal(a) {\n return this.modal = a, this;\n }\n setType(a) {\n return this.type = a, this;\n }\n allowDirectories(a = !0) {\n return this.directoriesAllowed = a, this;\n }\n startAt(a) {\n return this.path = a, this;\n }\n setFilter(a) {\n return this.filter = a, this;\n }\n build() {\n var a;\n return ((a = this.buttons) == null ? void 0 : a.length) > 0 && this.type !== 5 && console.error(\"FilePickerBuilder: When adding custom buttons the `type` must be set to `FilePickerType.Custom`.\"), new L(this.title, this.multiSelect, this.mimeTypeFiler, this.modal, this.type, this.directoriesAllowed, this.path, this.filter, this.buttons);\n }\n}\nfunction C(t) {\n return new f(t);\n}\nconst m = c().detectLocale();\n[{ locale: \"af\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Afrikaans (https://app.transifex.com/nextcloud/teams/64236/af/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"af\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Afrikaans (https://app.transifex.com/nextcloud/teams/64236/af/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: af\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"ar\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ar\", \"Plural-Forms\": \"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ar\\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"تراجع\"] } } } } }, { locale: \"ast\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ast\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ast\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Desfacer\"] } } } } }, { locale: \"az\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"az\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: az\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"be\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Belarusian (https://app.transifex.com/nextcloud/teams/64236/be/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"be\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Belarusian (https://app.transifex.com/nextcloud/teams/64236/be/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: be\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"bg_BG\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Bulgarian (Bulgaria) (https://app.transifex.com/nextcloud/teams/64236/bg_BG/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bg_BG\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Bulgarian (Bulgaria) (https://app.transifex.com/nextcloud/teams/64236/bg_BG/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bg_BG\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"bn_BD\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Bengali (Bangladesh) (https://app.transifex.com/nextcloud/teams/64236/bn_BD/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bn_BD\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Bengali (Bangladesh) (https://app.transifex.com/nextcloud/teams/64236/bn_BD/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bn_BD\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"br\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Breton (https://app.transifex.com/nextcloud/teams/64236/br/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"br\", \"Plural-Forms\": \"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Breton (https://app.transifex.com/nextcloud/teams/64236/br/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: br\\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Disober\"] } } } } }, { locale: \"bs\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Bosnian (https://app.transifex.com/nextcloud/teams/64236/bs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"bs\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Bosnian (https://app.transifex.com/nextcloud/teams/64236/bs/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bs\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"ca\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Catalan (https://app.transifex.com/nextcloud/teams/64236/ca/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ca\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Catalan (https://app.transifex.com/nextcloud/teams/64236/ca/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ca\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Desfés\"] } } } } }, { locale: \"cs\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Pavel Borecki , 2020\", \"Language-Team\": \"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cs\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nPavel Borecki , 2020\\n\" }, msgstr: [\"Last-Translator: Pavel Borecki , 2020\\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cs\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:187\" }, msgstr: [\"Zpět\"] } } } } }, { locale: \"cs_CZ\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cs_CZ\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cs_CZ\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Zpět\"] } } } } }, { locale: \"cy_GB\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Welsh (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/cy_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"cy_GB\", \"Plural-Forms\": \"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Welsh (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/cy_GB/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cy_GB\\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"da\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"da\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: da\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Fortryd\"] } } } } }, { locale: \"de\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"German (https://app.transifex.com/nextcloud/teams/64236/de/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"de\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Rückgängig\"] } } } } }, { locale: \"de_DE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"de_DE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de_DE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Rückgängig machen\"] } } } } }, { locale: \"el\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Greek (https://app.transifex.com/nextcloud/teams/64236/el/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"el\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Greek (https://app.transifex.com/nextcloud/teams/64236/el/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: el\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Αναίρεση\"] } } } } }, { locale: \"en_GB\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"en_GB\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: en_GB\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Undo\"] } } } } }, { locale: \"eo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Esperanto (https://app.transifex.com/nextcloud/teams/64236/eo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"eo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Esperanto (https://app.transifex.com/nextcloud/teams/64236/eo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eo\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Malfari\"] } } } } }, { locale: \"es\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Deshacer\"] } } } } }, { locale: \"es_419\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Latin America) (https://app.transifex.com/nextcloud/teams/64236/es_419/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_419\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Latin America) (https://app.transifex.com/nextcloud/teams/64236/es_419/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_419\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_AR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Spanish (Argentina) (https://app.transifex.com/nextcloud/teams/64236/es_AR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_AR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Spanish (Argentina) (https://app.transifex.com/nextcloud/teams/64236/es_AR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_AR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Deshacer\"] } } } } }, { locale: \"es_CL\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Chile) (https://app.transifex.com/nextcloud/teams/64236/es_CL/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CL\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Chile) (https://app.transifex.com/nextcloud/teams/64236/es_CL/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CL\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_CO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Colombia) (https://app.transifex.com/nextcloud/teams/64236/es_CO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Colombia) (https://app.transifex.com/nextcloud/teams/64236/es_CO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CO\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_CR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Costa Rica) (https://app.transifex.com/nextcloud/teams/64236/es_CR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_CR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Costa Rica) (https://app.transifex.com/nextcloud/teams/64236/es_CR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_DO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Dominican Republic) (https://app.transifex.com/nextcloud/teams/64236/es_DO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_DO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Dominican Republic) (https://app.transifex.com/nextcloud/teams/64236/es_DO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_DO\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_EC\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Ecuador) (https://app.transifex.com/nextcloud/teams/64236/es_EC/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_EC\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Ecuador) (https://app.transifex.com/nextcloud/teams/64236/es_EC/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_EC\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_GT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Guatemala) (https://app.transifex.com/nextcloud/teams/64236/es_GT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_GT\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Guatemala) (https://app.transifex.com/nextcloud/teams/64236/es_GT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_GT\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_HN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Honduras) (https://app.transifex.com/nextcloud/teams/64236/es_HN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_HN\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Honduras) (https://app.transifex.com/nextcloud/teams/64236/es_HN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_HN\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_MX\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Spanish (Mexico) (https://app.transifex.com/nextcloud/teams/64236/es_MX/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_MX\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Spanish (Mexico) (https://app.transifex.com/nextcloud/teams/64236/es_MX/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_MX\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Deshacer\"] } } } } }, { locale: \"es_NI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Nicaragua) (https://app.transifex.com/nextcloud/teams/64236/es_NI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_NI\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Nicaragua) (https://app.transifex.com/nextcloud/teams/64236/es_NI/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_NI\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_PA\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Panama) (https://app.transifex.com/nextcloud/teams/64236/es_PA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PA\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Panama) (https://app.transifex.com/nextcloud/teams/64236/es_PA/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PA\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_PE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Peru) (https://app.transifex.com/nextcloud/teams/64236/es_PE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PE\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Peru) (https://app.transifex.com/nextcloud/teams/64236/es_PE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PE\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_PR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Puerto Rico) (https://app.transifex.com/nextcloud/teams/64236/es_PR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Puerto Rico) (https://app.transifex.com/nextcloud/teams/64236/es_PR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_PY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Paraguay) (https://app.transifex.com/nextcloud/teams/64236/es_PY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_PY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Paraguay) (https://app.transifex.com/nextcloud/teams/64236/es_PY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PY\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_SV\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (El Salvador) (https://app.transifex.com/nextcloud/teams/64236/es_SV/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_SV\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (El Salvador) (https://app.transifex.com/nextcloud/teams/64236/es_SV/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_SV\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"es_UY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Uruguay) (https://app.transifex.com/nextcloud/teams/64236/es_UY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"es_UY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Uruguay) (https://app.transifex.com/nextcloud/teams/64236/es_UY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_UY\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"et_EE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"et_EE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: et_EE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"eu\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Basque (https://app.transifex.com/nextcloud/teams/64236/eu/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"eu\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Basque (https://app.transifex.com/nextcloud/teams/64236/eu/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eu\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Desegin\"] } } } } }, { locale: \"fa\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fa\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fa\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"بازگردانی\"] } } } } }, { locale: \"fi_FI\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Finnish (Finland) (https://app.transifex.com/nextcloud/teams/64236/fi_FI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fi_FI\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Finnish (Finland) (https://app.transifex.com/nextcloud/teams/64236/fi_FI/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fi_FI\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Kumoa\"] } } } } }, { locale: \"fo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Faroese (https://app.transifex.com/nextcloud/teams/64236/fo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Faroese (https://app.transifex.com/nextcloud/teams/64236/fo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fo\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"fr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Ldm Public , 2023\", \"Language-Team\": \"French (https://app.transifex.com/nextcloud/teams/64236/fr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"fr\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nLdm Public , 2023\\n\" }, msgstr: [\"Last-Translator: Ldm Public , 2023\\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fr\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Rétablir\"] } } } } }, { locale: \"gd\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Gaelic, Scottish (https://app.transifex.com/nextcloud/teams/64236/gd/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"gd\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Gaelic, Scottish (https://app.transifex.com/nextcloud/teams/64236/gd/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gd\\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"gl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"gl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Desfacer\"] } } } } }, { locale: \"he\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Hebrew (https://app.transifex.com/nextcloud/teams/64236/he/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"he\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Hebrew (https://app.transifex.com/nextcloud/teams/64236/he/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: he\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"ביטול\"] } } } } }, { locale: \"hi_IN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Hindi (India) (https://app.transifex.com/nextcloud/teams/64236/hi_IN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hi_IN\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Hindi (India) (https://app.transifex.com/nextcloud/teams/64236/hi_IN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hi_IN\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"hr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Croatian (https://app.transifex.com/nextcloud/teams/64236/hr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hr\", \"Plural-Forms\": \"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Croatian (https://app.transifex.com/nextcloud/teams/64236/hr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hr\\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"hsb\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Upper Sorbian (https://app.transifex.com/nextcloud/teams/64236/hsb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hsb\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Upper Sorbian (https://app.transifex.com/nextcloud/teams/64236/hsb/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hsb\\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"hu_HU\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Hungarian (Hungary) (https://app.transifex.com/nextcloud/teams/64236/hu_HU/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hu_HU\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Hungarian (Hungary) (https://app.transifex.com/nextcloud/teams/64236/hu_HU/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hu_HU\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Visszavonás\"] } } } } }, { locale: \"hy\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Armenian (https://app.transifex.com/nextcloud/teams/64236/hy/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"hy\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Armenian (https://app.transifex.com/nextcloud/teams/64236/hy/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hy\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"ia\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Interlingua (https://app.transifex.com/nextcloud/teams/64236/ia/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ia\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Interlingua (https://app.transifex.com/nextcloud/teams/64236/ia/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ia\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"id\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"id\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: id\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Tidak jadi\"] } } } } }, { locale: \"ig\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Igbo (https://app.transifex.com/nextcloud/teams/64236/ig/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ig\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Igbo (https://app.transifex.com/nextcloud/teams/64236/ig/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ig\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"is\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"is\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: is\\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Afturkalla\"] } } } } }, { locale: \"it\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"it\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: it\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Annulla\"] } } } } }, { locale: \"ja_JP\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Japanese (Japan) (https://app.transifex.com/nextcloud/teams/64236/ja_JP/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ja_JP\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Japanese (Japan) (https://app.transifex.com/nextcloud/teams/64236/ja_JP/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ja_JP\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"元に戻す\"] } } } } }, { locale: \"ka\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Georgian (https://app.transifex.com/nextcloud/teams/64236/ka/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ka\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Georgian (https://app.transifex.com/nextcloud/teams/64236/ka/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ka\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"ka_GE\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Georgian (Georgia) (https://app.transifex.com/nextcloud/teams/64236/ka_GE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ka_GE\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Georgian (Georgia) (https://app.transifex.com/nextcloud/teams/64236/ka_GE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ka_GE\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"kab\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kab\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kab\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Sefsex\"] } } } } }, { locale: \"kk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Kazakh (https://app.transifex.com/nextcloud/teams/64236/kk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kk\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Kazakh (https://app.transifex.com/nextcloud/teams/64236/kk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kk\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"km\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Khmer (https://app.transifex.com/nextcloud/teams/64236/km/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"km\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Khmer (https://app.transifex.com/nextcloud/teams/64236/km/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: km\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"kn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Kannada (https://app.transifex.com/nextcloud/teams/64236/kn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"kn\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Kannada (https://app.transifex.com/nextcloud/teams/64236/kn/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kn\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"ko\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ko\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ko\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"되돌리기\"] } } } } }, { locale: \"la\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Latin (https://app.transifex.com/nextcloud/teams/64236/la/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"la\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Latin (https://app.transifex.com/nextcloud/teams/64236/la/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: la\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"lb\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Luxembourgish (https://app.transifex.com/nextcloud/teams/64236/lb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lb\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Luxembourgish (https://app.transifex.com/nextcloud/teams/64236/lb/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lb\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"lo\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Lao (https://app.transifex.com/nextcloud/teams/64236/lo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lo\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Lao (https://app.transifex.com/nextcloud/teams/64236/lo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lo\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"lt_LT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Lithuanian (Lithuania) (https://app.transifex.com/nextcloud/teams/64236/lt_LT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lt_LT\", \"Plural-Forms\": \"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Lithuanian (Lithuania) (https://app.transifex.com/nextcloud/teams/64236/lt_LT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lt_LT\\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Atšaukti\"] } } } } }, { locale: \"lv\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Latvian (https://app.transifex.com/nextcloud/teams/64236/lv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"lv\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Latvian (https://app.transifex.com/nextcloud/teams/64236/lv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lv\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"mk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Macedonian (https://app.transifex.com/nextcloud/teams/64236/mk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mk\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Macedonian (https://app.transifex.com/nextcloud/teams/64236/mk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mk\\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Врати\"] } } } } }, { locale: \"mn\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mn\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mn\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Буцаах\"] } } } } }, { locale: \"mr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Marathi (https://app.transifex.com/nextcloud/teams/64236/mr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"mr\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Marathi (https://app.transifex.com/nextcloud/teams/64236/mr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mr\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"पूर्ववत करा\"] } } } } }, { locale: \"ms_MY\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Malay (Malaysia) (https://app.transifex.com/nextcloud/teams/64236/ms_MY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ms_MY\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Malay (Malaysia) (https://app.transifex.com/nextcloud/teams/64236/ms_MY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ms_MY\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"my\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Burmese (https://app.transifex.com/nextcloud/teams/64236/my/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"my\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Burmese (https://app.transifex.com/nextcloud/teams/64236/my/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: my\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"နဂိုအတိုင်းပြန်ထားရန်\"] } } } } }, { locale: \"nb_NO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nb_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nb_NO\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Angre\"] } } } } }, { locale: \"ne\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Nepali (https://app.transifex.com/nextcloud/teams/64236/ne/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ne\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Nepali (https://app.transifex.com/nextcloud/teams/64236/ne/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ne\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"nl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Ongedaan maken\"] } } } } }, { locale: \"nn_NO\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Norwegian Nynorsk (Norway) (https://app.transifex.com/nextcloud/teams/64236/nn_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"nn_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Norwegian Nynorsk (Norway) (https://app.transifex.com/nextcloud/teams/64236/nn_NO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nn_NO\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"oc\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Occitan (post 1500) (https://app.transifex.com/nextcloud/teams/64236/oc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"oc\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Occitan (post 1500) (https://app.transifex.com/nextcloud/teams/64236/oc/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: oc\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Anullar\"] } } } } }, { locale: \"pl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pl\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pl\\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Cofnij\"] } } } } }, { locale: \"ps\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Pashto (https://app.transifex.com/nextcloud/teams/64236/ps/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ps\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Pashto (https://app.transifex.com/nextcloud/teams/64236/ps/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ps\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"pt_BR\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pt_BR\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_BR\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Desfazer\"] } } } } }, { locale: \"pt_PT\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Portuguese (Portugal) (https://app.transifex.com/nextcloud/teams/64236/pt_PT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"pt_PT\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Portuguese (Portugal) (https://app.transifex.com/nextcloud/teams/64236/pt_PT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_PT\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Anular\"] } } } } }, { locale: \"ro\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Romanian (https://app.transifex.com/nextcloud/teams/64236/ro/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ro\", \"Plural-Forms\": \"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Romanian (https://app.transifex.com/nextcloud/teams/64236/ro/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ro\\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Anulează\"] } } } } }, { locale: \"ru\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ru\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ru\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Отменить\"] } } } } }, { locale: \"sc\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Sardinian (https://app.transifex.com/nextcloud/teams/64236/sc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sc\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Sardinian (https://app.transifex.com/nextcloud/teams/64236/sc/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sc\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"si\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Sinhala (https://app.transifex.com/nextcloud/teams/64236/si/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"si\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Sinhala (https://app.transifex.com/nextcloud/teams/64236/si/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: si\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"පෙරසේ\"] } } } } }, { locale: \"sk_SK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Slovak (Slovakia) (https://app.transifex.com/nextcloud/teams/64236/sk_SK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sk_SK\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Slovak (Slovakia) (https://app.transifex.com/nextcloud/teams/64236/sk_SK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sk_SK\\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Späť\"] } } } } }, { locale: \"sl\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Slovenian (https://app.transifex.com/nextcloud/teams/64236/sl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sl\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Slovenian (https://app.transifex.com/nextcloud/teams/64236/sl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sl\\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Razveljavi\"] } } } } }, { locale: \"sq\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Albanian (https://app.transifex.com/nextcloud/teams/64236/sq/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sq\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Albanian (https://app.transifex.com/nextcloud/teams/64236/sq/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sq\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"sr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sr\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sr\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Поништи\"] } } } } }, { locale: \"sr@latin\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Serbian (Latin) (https://app.transifex.com/nextcloud/teams/64236/sr@latin/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sr@latin\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Serbian (Latin) (https://app.transifex.com/nextcloud/teams/64236/sr@latin/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sr@latin\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"sv\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sv\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sv\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Ångra\"] } } } } }, { locale: \"sw\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Swahili (https://app.transifex.com/nextcloud/teams/64236/sw/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"sw\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Swahili (https://app.transifex.com/nextcloud/teams/64236/sw/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sw\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"ta\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Tamil (https://app.transifex.com/nextcloud/teams/64236/ta/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ta\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Tamil (https://app.transifex.com/nextcloud/teams/64236/ta/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ta\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"செயல்தவிர்\"] } } } } }, { locale: \"th_TH\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Thai (Thailand) (https://app.transifex.com/nextcloud/teams/64236/th_TH/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"th_TH\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Thai (Thailand) (https://app.transifex.com/nextcloud/teams/64236/th_TH/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: th_TH\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"เลิกทำ\"] } } } } }, { locale: \"tk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Turkmen (https://app.transifex.com/nextcloud/teams/64236/tk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"tk\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Turkmen (https://app.transifex.com/nextcloud/teams/64236/tk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tk\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"tr\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"tr\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tr\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Geri al\"] } } } } }, { locale: \"ug\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Uyghur (https://app.transifex.com/nextcloud/teams/64236/ug/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ug\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Uyghur (https://app.transifex.com/nextcloud/teams/64236/ug/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ug\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"uk\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"uk\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: uk\\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Скасувати дію\"] } } } } }, { locale: \"ur_PK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Urdu (Pakistan) (https://app.transifex.com/nextcloud/teams/64236/ur_PK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"ur_PK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Urdu (Pakistan) (https://app.transifex.com/nextcloud/teams/64236/ur_PK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ur_PK\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"uz\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Uzbek (https://app.transifex.com/nextcloud/teams/64236/uz/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"uz\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Uzbek (https://app.transifex.com/nextcloud/teams/64236/uz/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: uz\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }, { locale: \"vi\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"vi\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: vi\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"Hoàn tác\"] } } } } }, { locale: \"zh_CN\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_CN\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_CN\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\" 撤消\"] } } } } }, { locale: \"zh_HK\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_HK\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_HK\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"還原\"] } } } } }, { locale: \"zh_TW\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zh_TW\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, msgstr: [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_TW\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"復原\"] } } } } }, { locale: \"zu_ZA\", json: { charset: \"utf-8\", headers: { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Zulu (South Africa) (https://app.transifex.com/nextcloud/teams/64236/zu_ZA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", Language: \"zu_ZA\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, translations: { \"\": { \"\": { msgid: \"\", comments: { translator: \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, msgstr: [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Zulu (South Africa) (https://app.transifex.com/nextcloud/teams/64236/zu_ZA/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zu_ZA\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, Undo: { msgid: \"Undo\", comments: { reference: \"lib/toast.ts:223\" }, msgstr: [\"\"] } } } } }].map((t) => m.addTranslation(t.locale, t.json));\nconst l = m.build();\nl.ngettext.bind(l);\nconst y = l.gettext.bind(l);\nconst P = T(() => import(\"./FilePicker-c1dad1f0.mjs\"));\nexport {\n L as F,\n x as a,\n f as b,\n P as c,\n C as g,\n y as t\n};\n","import d from \"toastify-js\";\nimport { t as l } from \"./index-5de47637.mjs\";\nconst p = \"off\", f = \"polite\", m = \"assertive\";\nvar r = ((t) => (t[t.OFF = p] = \"OFF\", t[t.POLITE = f] = \"POLITE\", t[t.ASSERTIVE = m] = \"ASSERTIVE\", t))(r || {});\nconst T = 1e4, v = 7e3, L = -1;\nfunction c(t, o) {\n var s;\n if (o = Object.assign({ timeout: v, isHTML: !1, type: void 0, selector: void 0, onRemove: () => {\n }, onClick: void 0, close: !0 }, o), typeof t == \"string\" && !o.isHTML) {\n const u = document.createElement(\"div\");\n u.innerHTML = t, t = u.innerText;\n }\n let n = (s = o.type) != null ? s : \"\";\n typeof o.onClick == \"function\" && (n += \" toast-with-click \");\n const a = t instanceof Node;\n let e = r.POLITE;\n o.ariaLive ? e = o.ariaLive : (o.type === \"toast-error\" || o.type === \"toast-undo\") && (e = r.ASSERTIVE);\n const i = d({ [a ? \"node\" : \"text\"]: t, duration: o.timeout, callback: o.onRemove, onClick: o.onClick, close: o.close, gravity: \"top\", selector: o.selector, position: \"right\", backgroundColor: \"\", className: \"dialogs \" + n, escapeMarkup: !o.isHTML, ariaLive: e });\n return i.showToast(), i;\n}\nfunction g(t, o) {\n return c(t, { ...o, type: \"toast-error\" });\n}\nfunction h(t, o) {\n return c(t, { ...o, type: \"toast-warning\" });\n}\nfunction k(t, o) {\n return c(t, { ...o, type: \"toast-info\" });\n}\nfunction O(t, o) {\n return c(t, { ...o, type: \"toast-success\" });\n}\nfunction b(t, o, s) {\n if (!(o instanceof Function))\n throw new Error(\"Please provide a valid onUndo method\");\n let n;\n s = Object.assign(s || {}, { timeout: T, close: !1 });\n const a = document.createElement(\"span\"), e = document.createElement(\"button\");\n return a.classList.add(\"toast-undo-container\"), e.classList.add(\"toast-undo-button\"), e.innerText = l(\"Undo\"), a.innerText = t, a.appendChild(e), e.addEventListener(\"click\", function(i) {\n i.stopPropagation(), o(i), (n == null ? void 0 : n.hideToast) instanceof Function && n.hideToast();\n }), n = c(a, { ...s, type: \"toast-undo\" }), n;\n}\nexport {\n T,\n v as a,\n L as b,\n p as c,\n f as d,\n m as e,\n O as f,\n h as g,\n k as h,\n g as i,\n b as j,\n c as s\n};\n"],"names":["eventBus","token","undefined","observers","subscribe","e","forEach","observer","console","error","getAttribute","el","attribute","currentUser","exports","getCurrentUser","head","document","getElementsByTagName","uid","displayName","isAdmin","OC","isUserAdmin","getRequestToken","tokenElement","onRequestTokenUpdate","push","debug","MAX_LENGTH","MAX_SAFE_INTEGER","safeRe","re","t","parseOptions","compareIdentifiers","SemVer","constructor","version","options","loose","includePrerelease","TypeError","length","this","m","trim","match","LOOSE","FULL","raw","major","minor","patch","prerelease","split","map","id","test","num","build","format","join","toString","compare","other","compareMain","comparePre","i","a","b","compareBuild","inc","release","identifier","identifierBase","base","Number","Error","isNaN","module","throwErrors","er","parse","v","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","process","env","NODE_DEBUG","args","numeric","anum","bnum","rcompareIdentifiers","looseOption","Object","freeze","emptyOpts","src","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","name","value","isGlobal","safe","max","makeSafeRegex","index","RegExp","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","GetText","GettextBuilder","translations","setLanguage","language","locale","detectLocale","documentElement","lang","replace","addTranslation","data","enableDebugMode","GettextWrapper","gt","sourceLocale","key","addTranslations","setLocale","subtitudePlaceholders","translated","vars","r","gettext","original","placeholders","ngettext","singular","plural","count","getGettextBuilder","defineProperty","ConsoleLogger","buildConsoleLogger","context","_contracts","_typeof","o","Symbol","iterator","prototype","_defineProperties","target","props","descriptor","enumerable","configurable","writable","_toPropertyKey","arg","input","hint","prim","toPrimitive","res","call","String","_toPrimitive","obj","instance","Constructor","_classCallCheck","protoProps","message","level","msg","LogLevel","toUpperCase","app","concat","Debug","stack","_this$context","_this$context2","formatMessage","Info","info","Warn","warn","Fatal","log","assign","LoggerBuilder","_auth","_defineProperty","factory","appId","user","self","onLoaded","_window$_oc_config$lo","_window$_oc_config","readyState","window","_oc_config","loglevel","_oc_debug","removeEventListener","addEventListener","detectLogLevel","_LoggerBuilder","_ConsoleLogger","n","s","__esModule","default","d","get","hasOwnProperty","toStringTag","u","l","getLocale","json","charset","headers","Language","msgid","comments","translator","msgstr","seconds","reference","updateLocale","parentLocale","relativeTime","localeData","_relativeTime","dataset","getCanonicalLocale","getDayNames","dayNames","getDayNamesMin","dayNamesMin","getDayNamesShort","dayNamesShort","getFirstDay","firstDay","getLanguage","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","translate","text","L10N","translatePlural","textSingular","textPlural","joinPaths","_len","arguments","Array","_key","nonEmptyArgs","filter","lastArg","leadingSlash","charAt","trailingSlash","sections","reduce","acc","section","first","path","path1","path2","pathSections1","p","pathSections2","apply","Z","before","$slots","util","$options","$destroy","$el","remove","beforeUpdate","getText","computed","isLongText","methods","mixins","icon","type","title","closeAfterClick","Boolean","ariaLabel","ariaHidden","emits","nameTitleFallback","isIconUrl","URL","onClick","$emit","$parent","closeMenu","sources","names","mappings","sourcesContent","sourceRoot","c","btoa","unescape","encodeURIComponent","JSON","stringify","A","css","media","sourceMap","supports","layer","references","updater","f","byIndex","splice","domAPI","update","querySelector","HTMLIFrameElement","contentDocument","appendChild","createElement","setAttributes","attributes","insert","nc","setAttribute","insertStyleElement","styleTagTransform","parentNode","removeChild","styleSheet","cssText","firstChild","createTextNode","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","shadowRoot","_injectStyles","beforeCreate","x","disabled","isFocusable","h","C","bind","locals","g","_self","_c","staticClass","class","attrs","role","focusable","on","click","_t","style","backgroundImage","_v","_s","domProps","textContent","_e","k","validator","indexOf","nativeType","wide","href","download","to","exact","navigate","isActive","isExactActive","active","rel","$attrs","$listeners","custom","scopedSlots","y","j","components","Dropdown","inheritAttrs","popoverBaseClass","focusTrap","setReturnFocus","HTMLElement","SVGElement","beforeDestroy","clearFocusTrap","async","$nextTick","$refs","popover","popperContent","$focusTrap","createFocusTrap","escapeDeactivates","allowOutsideClick","trapStack","L","activate","deactivate","afterShow","useFocusTrap","afterHide","S","w","z","_g","_b","ref","distance","_u","fn","proxy","Actions","Activities","Choose","Close","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid_plural","Math","random","slice","_nc_focus_trap","F","NcButton","DotsHorizontal","NcPopover","open","forceMenu","forceTitle","menuTitle","primary","defaultIcon","placement","boundariesElement","Element","container","inline","opened","focusIndex","randomId","triggerBtnType","watch","isValidSingleAction","componentOptions","Ctor","extendOptions","tag","includes","openMenu","returnFocus","menuButton","focus","onOpen","focusFirstAction","onMouseFocusAction","activeElement","closest","menu","querySelectorAll","focusAction","onKeydown","keyCode","shiftKey","focusPreviousAction","focusNextAction","focusLastAction","preventDefault","removeCurrentActive","classList","preventIfEvent","stopPropagation","onFocus","onBlur","every","propsData","startsWith","location","origin","listeners","children","N","P","blur","slot","size","delay","handleResize","shown","boundary","show","hide","tabindex","keydown","mousemove","E","T","appearance","colors","reverse","width","height","viewBox","fill","item","required","round","iconIsUrl","action","NcPopoverMenuItem","longtext","submit","placeholder","directives","rawName","model","expression","checked","isArray","_i","change","$set","_q","composing","for","_l","toLowerCase","parseInt","iQ","hasStatus","userStatus","status","getCapabilities","user_status","enabled","generateOcsUrl","userId","ocs","response","isMobile","created","handleWindowResize","clientWidth","defaultProtocol","className","hash","needQuotes","label","iconUrl","source","avatarUrl","getAvatarUrl","mentionText","generateUrl","contenteditable","baseURI","U","getBuilder","persist","setItem","ClickOutside","vOnClickOutside","NcLoadingIcon","NcPopoverMenu","url","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","hasMenu","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","initialsWrapperStyle","backgroundColor","initialsStyle","color","tooltip","initials","fromCodePoint","codePointAt","hyperlink","innerHTML","loadAvatarUrl","mounted","fetchUserStatus","handleUserStatusUpdated","unsubscribe","handlePopoverAfterShow","popoverMenu","handlePopoverAfterHide","main","fetchContactsMenu","post","topAction","actions","updateImageIfValid","avatarUrlGenerator","getComputedStyle","body","getPropertyValue","oc_userconfig","avatar","getItem","Image","onload","onerror","srcset","_","B","O","D","M","_k","toggleMenu","alt","description","hasTitle","hasDescription","I","NcAvatar","NcUserBubbleDiv","avatarImage","margin","isPopoverComponent","popoverEmpty","isAvatarUrl","isCustomAvatar","hasUrl","isLinkComponent","styles","content","borderRadius","marginLeft","onOpenChange","trigger","$props","USERID_REGEX","USERID_REGEX_WITH_SPACE","userData","renderContent","flat","genSelectTemplate","parseContent","autocompleteTribute","current","collection","renderComponentHtml","extend","display","$mount","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","Uint8Array","code","start","end","output","isConstructor","tryToString","$TypeError","argument","isCallable","$String","wellKnownSymbol","create","UNSCOPABLES","ArrayPrototype","uncurryThis","IndexedObject","toObject","lengthOfArrayLike","arraySpeciesCreate","createMethod","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","callbackfn","that","specificCreate","result","boundFunction","some","find","findIndex","filterReject","aCallable","IS_RIGHT","argumentsLength","memo","left","right","toAbsoluteIndex","createProperty","$Array","fin","isObject","SPECIES","originalArray","arraySpeciesConstructor","fails","getPrototypeOf","done","toPropertyKey","definePropertyModule","createPropertyDescriptor","object","propertyKey","anObject","ordinaryToPrimitive","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","documentCreateElement","DOMTokenListPrototype","classof","global","NATIVE_BIND","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","getBuiltIn","inspectSource","noop","empty","construct","constructorRegExp","exec","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","sham","called","IteratorPrototype","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","TO_STRING_TAG","$","IS_PURE","FunctionName","createIteratorConstructor","createNonEnumerableProperty","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","keys","proto","forced","PrototypeOfArrayIteratorPrototype","arrayIterator","toIndexedObject","$getOwnPropertyNames","arraySlice","windowNames","getOwnPropertyNames","it","getWindowNames","hasOwn","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","$Object","ObjectPrototype","aPossiblePrototype","setter","CORRECT_SETTER","getOwnPropertyDescriptor","set","__proto__","TAG","STATIC","aConstructor","isNullOrUndefined","defaultConstructor","requireObjectCoercible","whitespaces","whitespace","ltrim","rtrim","string","SymbolPrototype","valueOf","TO_PRIMITIVE","arity","NATIVE_SYMBOL","keyFor","wrappedWellKnownSymbolModule","addToUnscopables","InternalStateModule","defineIterator","createIterResultObject","DESCRIPTORS","ARRAY_ITERATOR","setInternalState","getInternalState","getterFor","iterated","kind","state","Arguments","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","dateToPrimitive","DatePrototype","Date","isSymbol","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","symbol","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","replacer","$replacer","fixIllFormed","offset","prev","stat","space","isForced","inheritIfRequired","isPrototypeOf","thisNumberValue","NUMBER","NativeNumber","NumberPrototype","NumberWrapper","primValue","third","radix","maxCode","digits","NaN","toNumber","toNumeric","getOwnPropertySymbolsModule","getOwnPropertySymbols","$getOwnPropertySymbols","STRING_ITERATOR","point","fixRegExpWellKnownSymbolLogic","isRegExp","speciesConstructor","advanceStringIndex","toLength","getMethod","callRegExpExec","regexpExec","stickyHelpers","UNSUPPORTED_Y","MAX_UINT32","min","$push","stringSlice","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","lim","lastIndex","lastLength","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","splitter","rx","unicodeMatching","q","originalExec","$toString","nativeObjectCreate","objectKeys","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","definePropertiesModule","propertyIsEnumerableModule","shared","hiddenKeys","defineWellKnownSymbol","defineSymbolToPrimitive","$forEach","HIDDEN","SYMBOL","PROTOTYPE","$Symbol","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","WellKnownSymbolsStore","USE_SETTER","findChild","setSymbolDescriptor","Attributes","ObjectPrototypeDescriptor","wrap","$defineProperty","$defineProperties","Properties","properties","$propertyIsEnumerable","V","$getOwnPropertyDescriptor","IS_OBJECT_PROTOTYPE","unsafe","useSetter","useSimple","defineProperties","copyConstructorProperties","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","thisSymbolValue","symbolDescriptiveString","regexp","desc","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","needLayer","modules","dedupe","alreadyImportedModules","cssMapping","base64","sourceMapping","read","buffer","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","Infinity","pow","write","rt","abs","floor","LN2","HASH_UNDEFINED","INFINITY","funcTag","genTag","symbolTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","freeGlobal","freeSelf","root","Function","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","objectToString","reIsNative","Map","getNative","nativeCreate","symbolProto","symbolToString","Hash","clear","entry","ListCache","MapCache","assocIndexOf","array","getMapData","__data__","getValue","pattern","isFunction","isHostObject","func","toSource","baseIsNative","has","pop","stringToPath","memoize","baseToString","number","quote","toKey","resolver","memoized","cache","Cache","isObjectLike","defaultValue","isKey","baseGet","moment","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","hours","minutes","isLower","longDateFormat","LT","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","future","past","ss","mm","hh","dd","MM","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","str","weekdaysParseExact","hour","minute","postformat","symbolMap","preparse","numberMap","suffixes","relativeTimeWithPlural","forms","standalone","isFormat","day","period","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutationTable","substring","softMutation","mutation","lastNumber","monthsParse","monthsRegex","minWeekdaysParse","weekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","ll","lll","llll","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","month","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","now","$0","$1","$2","isUpper","eifelerRegelAppliesToNumber","substr","units","translateSingular","special","relativeTimeWithSingular","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","days","word","numbersNouns","numberNoun","hundred","ten","one","numberAsNoun","time","hm","processHoursFunction","nominative","accusative","genitive","webpackContext","req","webpackContextResolve","__webpack_require__","resolve","hookCallback","hooks","hasOwnProp","isObjectEmpty","isUndefined","isNumber","isDate","arrLen","createUTC","strict","createLocalOrUTC","utc","getParsingFlags","_pf","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","isValid","_isValid","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","fun","momentProperties","updateInProgress","copyConfig","from","prop","val","momentPropertiesLen","_isAMomentObject","_f","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","mergeConfigs","parentConfig","childConfig","Locale","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","callback","formatMoment","expandFormat","makeFormatFunction","replaceLongDateFormatTokens","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","date","daysInMonth","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","parseTwoDigitYear","getSetYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","getUTCDay","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","kInput","_isPm","_meridiem","pos","pos1","pos2","getSetHour","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","loadLocale","oldLocale","isLocaleNameSane","_abbr","getSetGlobalLocale","_config","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","weekdayStr","parsedInput","getDay","checkWeekday","obsOffset","militaryOffset","numOffset","calculateOffset","setUTCMinutes","getUTCMinutes","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","temp","weekdayOverflow","curWeek","GG","W","createLocal","_week","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","isPm","meridiemFixWrap","erasConvertYear","prepareConfig","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromStringAndArray","createFromInputFallback","configFromString","dayOrDate","second","millisecond","configFromObject","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","milliseconds","unitHasDecimal","orderLen","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","cloneWithOffset","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","addSubtract","isAdding","invalid","subtract","isString","isMomentInput","arrayTest","dataTypeTest","isNumberOrStringArray","property","objectTest","propertyTest","propertyLen","isMomentInputObject","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","preParsePostFormat","formats","isCalendarSpec","sod","startOf","calendarFormat","asFloat","zoneDelta","endOf","startOfDate","isoWeekday","inputString","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","getPrioritizedUnits","prioritizedLen","toArray","toDate","toISOString","keepOffset","inspect","prefix","suffix","zone","isLocal","toJSON","unix","creationData","eraName","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","field","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","tok","_invalidDate","_ordinal","pastFuture","_eras","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","posNegDuration","relativeTime$1","toIsoString","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","Gettext","catalogs","domain","eventName","off","listener","emit","eventData","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","textdomain","setlocale","addTextdomain","ach","examples","sample","nplurals","pluralsText","af","ak","am","an","ar","arn","ast","ay","az","be","bg","bn","bo","br","brx","bs","ca","cgg","cs","csb","cy","da","de","doi","dz","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","he","hne","hr","hu","hy","is","ja","jbo","jv","ka","kk","km","kn","ko","ku","kw","ky","lb","ln","lo","lt","lv","mai","mfe","mg","mi","mk","ml","mn","mni","mnk","mr","mt","my","nah","nap","nb","ne","nl","nn","no","nso","oc","or","pa","pap","pl","pms","ps","pt","rm","ro","ru","rw","sah","sat","sco","sd","se","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","te","tg","ti","tk","tr","tt","ug","uk","ur","uz","vi","wa","wo","yo","zh","ieee754","customInspectSymbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","encodingOrOffset","allocUnsafe","encoding","isEncoding","actual","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","isBuffer","numberIsNaN","fromObject","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","foo","typedArraySupport","poolSize","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","toLocaleString","equals","thisStart","thisEnd","thisCopy","targetCopy","_arr","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","last","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","getMessage","Base","super","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","received","isInteger","INVALID_BASE64_RE","leadSurrogate","base64clean","dst","alphabet","table","i16","BufferBigIntNotDefined","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","nextTick","browser","argv","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","stylesInDOM","getIndexByIdentifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","addElementStyle","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","styleTarget","getTarget","element","styleElement","nonce","removeStyleElement","Toastify","lib","init","getAxisOffsetAValue","axis","containsClass","elem","yourClass","oldestFirst","node","selector","destination","newWindow","close","gravity","positionLeft","position","stopOnFocus","escapeMarkup","ariaLive","background","toastify","toastElement","buildToast","divElement","nodeType","Node","ELEMENT_NODE","innerText","avatarElement","insertAdjacentElement","closeElement","event","removeElement","timeOutValue","innerWidth","screen","xOffset","yOffset","transform","showToast","rootElement","getElementById","ShadowRoot","elementToInsert","lastChild","insertBefore","reposition","hideToast","classUsed","topLeftOffsetSize","top","bottom","topRightOffsetSize","offsetSize","allToasts","getElementsByClassName","offsetHeight","thisArg","kindOf","thing","kindOfTest","typeOfTest","isArrayBuffer","isPlainObject","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","findKey","_global","globalThis","isContextDefined","isTypedArray","TypedArray","isHTMLForm","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isFormData","FormData","append","isArrayBufferView","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","forEachEntry","pair","matchAll","regExp","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toCamelCase","toFiniteNumber","generateString","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","then","catch","AxiosError","request","captureStackTrace","utils","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","isFlatArray","exposedHelpers","encode","charMap","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","isStandardBrowserEnv","product","navigator","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","DEFAULT_CONTENT_TYPE","transitional","adapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","rawValue","parser","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","line","parseHeaders","tokensRE","parseTokens","delete","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","static","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","expires","secure","cookie","toGMTString","decodeURIComponent","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","userAgent","urlParsingNode","originURL","resolveURL","protocol","host","search","hostname","port","pathname","requestURL","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","samplesCount","timestamps","firstSampleTS","tail","chunkLength","startedAt","bytesCount","passed","loaded","lengthComputable","progressBytes","rate","progress","estimated","knownAdapters","http","xhr","XMLHttpRequest","Promise","reject","requestData","requestHeaders","onCanceled","cancelToken","signal","auth","username","password","fullPath","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","settle","err","responseText","statusText","paramsSerializer","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancel","abort","aborted","parseProtocol","send","throwIfCancellationRequested","throwIfRequested","dispatchRequest","adapters","nameOrAdapter","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","opt","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","payload","formToJSON","__assign","__awaiter","_arguments","generator","step","__generator","sent","trys","ops","verb","op","SuppressedError","RETRY_KEY","RETRY_DELAY_KEY","client","requesttoken","cancelableClient","onError$2","retryDelay_1","retryIfMaintenanceMode","onError$1","reloadExpiredSession","reload","bail","toStr","gOPD","isPlainObject$1","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","extend2","copyIsArray","deep","isPlainObject2","stringifyPosition","point$1","point2","column","VFileMessage","place","position2","index2","fatal","ruleId","expected","file","note","assertPath$1","seenNonSlash","firstNonSlashEnd","extIndex","unmatchedSlash","startPart","startDot","preDotState","code2","segments","joined","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","normalizeString","normalize$1","proc","isUrl","fileURLOrPath","order","VFile","messages","history","stored","prop2","getPathFromURLPosix","urlToPath","assertNonEmpty","dirname","dirname2","assertPath","basename","basename2","assertPart","extname","extname2","stem","fail","part","unified","transformers","pipeline","middlewareIndex","middleware","parameters","fnExpectsCallback","wrap$1","middelware","trough","attachers","frozen","namespace","freezeIndex","processor","assertUnfrozen","own$7","Parser","Compiler","attacher","transformer","POSITIVE_INFINITY","settings","addPlugin","addList","addPreset","value2","plugin","options2","plugins","doc","vfile","assertParser","newable","assertCompiler","assertNode","compile","tree","runSync","complete","assertDone","file2","processSync","asyncName","looksLikeAVFile","normalizeComponent","scriptExports","render3","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","existing","_vue_richtext_widgets","_registerWidget","onDestroy","_sfc_main$2","compact","hasCustomWidget","richObjectType","noAccess","accessible","descriptionStyle","lineClamp","webkitLineClamp","compactLink","link2","openGraphObject","link","renderWidget","ResizeObserver","contentRect","observe","disconnect","customWidget","richObject","ReferenceWidget","_vm","thumb","URL_PATTERN","URL_PATTERN_AUTOLINK","_sfc_main$1","referenceData","loading","firstReference","displayedReferences","fetch","ReferenceList","one$1","includeImageAlt","all$1","list2","chunkStart","hasOwnProperty$1","syntaxExtension","all2","extension2","constructs","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","factorySpace","effects","ok2","enter","consume","exit","content$1","tokenize","contentStart","attempt","contentInitial","lineStart","previous2","previous","document$2","childFlow","childToken","lineStartOffset","continued","containerState","continuation","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","events","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","check","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","lazy","containerContinue","flow","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","seen","nok","disable","null","classifyCharacter","resolveAll","constructs2","attention","attentionMarkers2","attentionMarkers","sequence","after","_open","_close","group","text2","openingSequence","closingSequence","nextEvents","sliceSerialize","movePoint","insideSpan","_bufferIndex","autolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","blankLine","partial","blockQuote","_container","characterEscape","element$1","decodeNamedCharacterReference","characterReference2","characterReference","codeFenced","closingFenceConstruct","effects2","ok3","nok2","sizeOpen","closingSequenceEnd","nonLazyLine","self2","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","meta","contentContinue","codeIndented","afterStartPrefix","afterPrefix","indentedContent","content2","codeText","gap","tailExitIndex","headEnterIndex","subtokenize","jumps","lineIndex","otherIndex","otherEvent","subevents","more","_isInFirstContentOfListItem","subcontent","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","_gfmTasklistFirstContentOfListItem","start2","contentEnd","continuationConstruct","prefixed","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","atBreak","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","definition","labelAfter","titleConstruct","defined","hardBreakEscape","headingAtx","fenceOpenInside","headingBreak","htmlBlockNames","htmlRawNames","htmlFlow","startTag","declarationStart","tagCloseStart","continuationDeclarationInside","tagName","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","resolveTo","htmlText","returnState","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","declaration","commentStart","commentStartDash","comment","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","destinationAfter","between","afterLabel","labelStartImage","labelStartLink","lineEnding","thematicBreak$1","list$1","initialSize","atMarker","inside","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","setextUnderline","paragraph2","definition2","heading2","flow$1","initial","flowInitial","afterConstruct","createResolver","string$1","initializeFactory","text$3","notText","resolveAllLineSuffixes","extraResolver","chunks","tabs","bufferIndex","chunk","createTokenizer","initialize","columnStart","resolveAllConstructs","accountForPotentialSkip","fields","constructFactory","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","chunkIndex","go","startIndex","startBufferIndex","endIndex","endBufferIndex","view","sliceChunks","restore","onreturn","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","def","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","store","from2","document$1","text$2","defaultConstructs","decodeNumericCharacterReference","base2","characterEscapeOrReference","decode","head2","hex","own$6","fromMarkdown","configure","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreak2","hardBreakTrailing","html2","htmlFlowData","htmlTextData","image","listItem","_spread","listItemValue","getData","setData","listOrdered","listUnordered","paragraph","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","thematicBreak","closer","atxHeadingSequence","depth","onexitdata","characterEscapeValue","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","data2","resume","codeFencedFence","onexithardbreak","referenceType","fragment","labelText","ancestor","string2","decodeString","resource","setextHeadingLineSequence","setextHeadingText","mdastExtensions","tokenStack","listStack","exit2","prepareList","handler","defaultOnError","listItem3","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","create2","and","errorHandler","onExitError","ordered","compiler","postprocess","extensions","combineExtensions","parse$2","atCarriageReturn","endPosition","preprocess","combined","extension","remarkParse","convert$2","ok$1","castFactory","tests","checks2","index3","anyFactory$1","propsFactory","SKIP$2","visit$2","visitor2","factory2","parents","visit2","subresult","grandparents","toResult$1","visitParents$2","find$1","remarkBreaks","own$5","unknown","augment","passThrough","returnNode","unknownHandler","nodes","pointStart","pointEnd","point3","own$4","definitions","definition3","clean","characterReferences","sanitizeUri","encode$1","skip","normalizeUri","colon","questionMark","numberSign","slash","footnoteReference","safeId","footnoteOrder","counter","footnoteCounts","reuseCounter","clobberPrefix","dataFootnoteRef","ariaDescribedBy","encodeCache","exclude","keepEscaped","nextCode","defaultChars","ch","getEncodeCache","componentChars","encode_1","revert","subtype","contents","listItemLoose","trimLine","blockquote","break","footnote","footnoteById","heading","html","dangerous","imageReference","inlineCode","linkReference","listLoose","wrapped","child","rows","align","row","cellIndex","cell","search2","lines","trimLines","toml","ignore","yaml","footnoteDefinition","own$3","toHast","allowDangerousHtml","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","footnoteBackLabel","hName","hProperties","hChildren","ctx","foot","listItems","referenceIndex","backReferences","backReference","dataFootnoteBackref","tailTail","listItem2","dataFootnotes","footer","remark2rehype","bridge","mutate","Schema","normal","space2","definitions2","booleanish","overloadedBoolean","commaSeparated","spaceSeparated","commaOrSpaceSeparated","mustUseProperty","powers","increment","types","checks","DefinedInfo","mask","mark","own$2","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","caseSensitiveTransform","caseInsensitiveTransform","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaInvalid","ariaKeyShortcuts","ariaLabelledBy","ariaLevel","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","html$1","acceptcharset","classname","htmlfor","httpequiv","accept","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","autoCapitalize","autoComplete","autoFocus","autoPlay","capture","charSet","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dirName","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","loop","manifest","maxLength","minLength","multiple","muted","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforePrint","onBeforeUnload","onCancel","onCanPlay","onCanPlayThrough","onChange","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","ping","playsInline","poster","preload","readOnly","referrerPolicy","reversed","rowSpan","sandbox","scope","scoped","seamless","selected","shape","sizes","span","spellCheck","srcDoc","srcLang","srcSet","tabIndex","typeMustMatch","useMap","aLink","archive","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","charOff","classId","codeBase","codeType","declare","face","frame","frameBorder","hSpace","leftMargin","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","profile","prompt","rev","rightMargin","rules","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","results","security","unselectable","svg$1","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","defaultAction","descent","diffuseConstant","dur","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusHighlight","fx","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","opacity","operator","orient","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","restart","rotate","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","u1","u2","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","valid","dash","cap","kebab","camelcase","svg","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","styleToObject","declarations","lineno","updatePosition","Position","whitespace2","filename","silent","decl","decls","parse$1","hasIterator","ns","mathml","toReact","own$1","toH","react","_isVue","vue","vd","vdom","hyperscript","parentSchema","addAttribute","Type","rest","dashes","subprop","padRight","padLeft","parseStyle","convert$1","typeFactory","ok","anyFactory","matchesFactory","convertAll","unistUtilVisitParents","visitParents$1","convert","CONTINUE$1","SKIP$1","EXIT$1","one2","toResult","CONTINUE","SKIP","EXIT","unistUtilVisit","visit$1","visitParents","hastCssPropertyMap","valign","hastName","appendStyle","prevStyle","nextStyle","own","tableElements","Set","rehypeReact","component","passNode","tableCellStyle2","Fragment","ABSOLUTE_URL_REGEX","WINDOWS_PATH_REGEX","defaultRel","defaultProtocols","remarkExternalLinks","contentProperties","isAbsoluteUrl","Link","remarkAutolink","autolink2","useMarkdown","parseUrl","linkComponent","textAfter","textBefore","lastChar","remarkPlaceholder","RichText","referenceLimit","markdownCssClasses","ol","ul","li","em","h1","h2","h3","h4","h5","h6","pre","renderPlaintext","prepareTextNode","argumentId","renderMarkdown","renderedMarkdown","toHast2","ActivityModel","rawActivity","activity_id","subject","datetime","_activity","subjectRichTemplate","subject_rich","subjectRichObjects","messageRichTemplate","message_rich","messageRichObjects","objectType","object_type","objectId","object_id","objectName","object_name","dateFromNow","formattedDate","timestamp","isRoot","isSamePath","parentPathIsRoot","parentFolder","website","thumbIsDefined","activity","dateInterval","messageText","messageArguments","mapRichObjectsToRichArguments","subjectText","subjectArguments","applyMonochromeIconColor","updateDateFromNow","setInterval","destroyed","clearInterval","richObjects","richObjectName","mapRichObjectToRichArgument","FileRichArgument","NcUserBubble","EmailRichArgument","SystemTagRichArgument","OpenGraphRichArgument","CalendarEventRichArgument","formatted","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","DOMParser","decoded","parseFromString","createClient","_getRequestToken","ressourceId","editing","onEdit","onEditCancel","updateLocalMessage","commentsType","commentId","commentPath","customRequest","EditComment","showError","onDeleteWithUndo","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","deleteFile","DeleteComment","newComment","ressourcePath","actorDisplayName","actorId","actorType","creationDateTime","toUTCString","details","NewComment","localMessage","NcActionButton","NcActions","NcActionSeparator","ArrowRight","NcRichContenteditable","RichEditorMixin","CommentMixin","editor","expanded","isOwnComment","renderedContent","isEmptyMessage","beforeMount","onNewComment","onEditComment","onExpand","$event","getLoggerBuilder","setApp","detectUser","loadState","fallback","atob","Activity","NcEmptyContent","Comment","fileInfo","activities","editorData","resetState","getActivities","processActivities","_ref","logger","sorter","_interopDefaultLegacy","valid__default","major__default","ProxyBus","bus","getVersion","SimpleBus","getBus","Proxy","_eventBus","_nc_event_bus","Move","Copy","CopyMove","Undo","OFF","POLITE","ASSERTIVE","isHTML","onRemove"],"sourceRoot":""} \ No newline at end of file diff --git a/js/activity-528.js b/js/activity-528.js deleted file mode 100644 index 7f4dcba2b..000000000 --- a/js/activity-528.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see activity-528.js.LICENSE.txt */ -(self.webpackChunkactivity=self.webpackChunkactivity||[]).push([[528],{42515:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCapabilities=function(){try{return(0,r.loadState)("core","capabilities")}catch(e){return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}};var r=n(20853)},20853:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadState=function(e,t,n){var r=document.querySelector("#initial-state-".concat(e,"-").concat(t));if(null===r){if(void 0!==n)return n;throw new Error("Could not find initial state ".concat(t," of ").concat(e))}try{return JSON.parse(atob(r.value))}catch(n){throw new Error("Could not parse initial state ".concat(t," of ").concat(e))}},n(92222)},98733:(e,t,n)=>{"use strict";n(69070),Object.defineProperty(t,"__esModule",{value:!0}),t.clearAll=function(){[window.sessionStorage,window.localStorage].map((function(e){return a(e)}))},t.clearNonPersistent=function(){[window.sessionStorage,window.localStorage].map((function(e){return a(e,(function(e){return!e.startsWith(o.default.GLOBAL_SCOPE_PERSISTENT)}))}))},t.getBuilder=function(e){return new r.default(e)},n(21249),n(57327),n(41539),n(47941),n(23157);var r=i(n(84083)),o=i(n(66462));function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){Object.keys(e).filter((function(e){return!t||t(e)})).map(e.removeItem.bind(e))}},66462:(e,t,n)=>{"use strict";function r(e,t){for(var n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,n(69070);var r,o=(r=n(66462))&&r.__esModule?r:{default:r};function i(e,t){for(var n=0;n0&&void 0!==arguments[0])||arguments[0];return this.persisted=e,this}},{key:"clearOnLogout",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.clearedOnLogout=e,this}},{key:"build",value:function(){return new o.default(this.appId,this.persisted?window.localStorage:window.sessionStorage,!this.clearedOnLogout)}}],n&&i(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=u},40487:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n{var r=n(47293),o=n(5112),i=n(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},84964:(e,t,n)=>{var r=n(5112)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(e){}}return!1}},7207:e=>{var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},47850:(e,t,n)=>{var r=n(70111),o=n(84326),i=n(5112)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==o(e))}},3929:(e,t,n)=>{var r=n(47850),o=TypeError;e.exports=function(e){if(r(e))throw o("The method doesn't accept regular expressions");return e}},92222:(e,t,n)=>{"use strict";var r=n(82109),o=n(47293),i=n(43157),a=n(70111),u=n(47908),s=n(26244),l=n(7207),c=n(86135),f=n(65417),d=n(81194),p=n(5112),v=n(7392),h=p("isConcatSpreadable"),m=v>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),g=d("concat"),y=function(e){if(!a(e))return!1;var t=e[h];return void 0!==t?!!t:i(e)};r({target:"Array",proto:!0,arity:1,forced:!m||!g},{concat:function(e){var t,n,r,o,i,a=u(this),d=f(a,0),p=0;for(t=-1,r=arguments.length;t{"use strict";var r=n(82109),o=n(42092).filter;r({target:"Array",proto:!0,forced:!n(81194)("filter")},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},21249:(e,t,n)=>{"use strict";var r=n(82109),o=n(42092).map;r({target:"Array",proto:!0,forced:!n(81194)("map")},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},47941:(e,t,n)=>{var r=n(82109),o=n(47908),i=n(81956);r({target:"Object",stat:!0,forced:n(47293)((function(){i(1)}))},{keys:function(e){return i(o(e))}})},23157:(e,t,n)=>{"use strict";var r,o=n(82109),i=n(1702),a=n(31236).f,u=n(17466),s=n(41340),l=n(3929),c=n(84488),f=n(84964),d=n(31913),p=i("".startsWith),v=i("".slice),h=Math.min,m=f("startsWith");o({target:"String",proto:!0,forced:!(!d&&!m&&(r=a(String.prototype,"startsWith"),r&&!r.writable)||m)},{startsWith:function(e){var t=s(c(this));l(e);var n=u(h(arguments.length>1?arguments[1]:void 0,t.length)),r=s(e);return p?p(t,r,n):v(t,n,n+r.length)===r}})},71012:e=>{var t,n;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-i)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],r=0,o=0;r>>6-2*o);return n}},e.exports=n},67444:(e,t,n)=>{"use strict";function r(e){return e.split("-")[0]}function o(e){return e.split("-")[1]}function i(e){return["top","bottom"].includes(r(e))?"x":"y"}function a(e){return"y"===e?"height":"width"}function u(e){let{reference:t,floating:n,placement:u}=e;const s=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2;let c;switch(r(u)){case"top":c={x:s,y:t.y-n.height};break;case"bottom":c={x:s,y:t.y+t.height};break;case"right":c={x:t.x+t.width,y:l};break;case"left":c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}const f=i(u),d=a(f);switch(o(u)){case"start":c[f]=c[f]-(t[d]/2-n[d]/2);break;case"end":c[f]=c[f]+(t[d]/2-n[d]/2)}return c}function s(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function l(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}async function c(e,t){void 0===t&&(t={});const{x:n,y:r,platform:o,rects:i,elements:a,strategy:u}=e,{boundary:c="clippingParents",rootBoundary:f="viewport",elementContext:d="floating",altBoundary:p=!1,padding:v=0}=t,h=s(v),m=a[p?"floating"===d?"reference":"floating":d],g=await o.getClippingClientRect({element:await o.isElement(m)?m:m.contextElement||await o.getDocumentElement({element:a.floating}),boundary:c,rootBoundary:f}),y=l(await o.convertOffsetParentRelativeRectToViewportRelativeRect({rect:"floating"===d?{...i.floating,x:n,y:r}:i.reference,offsetParent:await o.getOffsetParent({element:a.floating}),strategy:u}));return{top:g.top-y.top+h.top,bottom:y.bottom-g.bottom+h.bottom,left:g.left-y.left+h.left,right:y.right-g.right+h.right}}n.r(t),n.d(t,{Dropdown:()=>Nt,HIDE_EVENT_MAP:()=>de,Menu:()=>Lt,Popper:()=>$t,PopperContent:()=>It,PopperMethods:()=>Mt,PopperWrapper:()=>Vt,SHOW_EVENT_MAP:()=>fe,ThemeClass:()=>Ut,Tooltip:()=>zt,TooltipDirective:()=>Ht,VClosePopper:()=>_t,VTooltip:()=>Bt,createTooltip:()=>Ot,default:()=>qt,destroyTooltip:()=>Et,hideAllPoppers:()=>Fe,install:()=>Wt,options:()=>Rt,placements:()=>ce});const f=Math.min,d=Math.max;function p(e,t,n){return d(e,f(t,n))}const v={left:"right",right:"left",bottom:"top",top:"bottom"};function h(e){return e.replace(/left|right|bottom|top/g,(e=>v[e]))}function m(e,t){const n="start"===o(e),r=i(e),u=a(r);let s="x"===r?n?"right":"left":n?"bottom":"top";return t.reference[u]>t.floating[u]&&(s=h(s)),{main:s,cross:h(s)}}const g={start:"end",end:"start"};function y(e){return e.replace(/start|end/g,(e=>g[e]))}const b=["top","right","bottom","left"].reduce(((e,t)=>e.concat(t,t+"-start",t+"-end")),[]);function w(e){return"[object Window]"===(null==e?void 0:e.toString())}function D(e){if(null==e)return window;if(!w(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function O(e){return D(e).getComputedStyle(e)}function E(e){return w(e)?"":e?(e.nodeName||"").toLowerCase():""}function C(e){return e instanceof D(e).HTMLElement}function S(e){return e instanceof D(e).Element}function A(e){return e instanceof D(e).ShadowRoot||e instanceof ShadowRoot}function F(e){const{overflow:t,overflowX:n,overflowY:r}=O(e);return/auto|scroll|overlay|hidden/.test(t+r+n)}function P(e){return["table","td","th"].includes(E(e))}function x(e){const t=navigator.userAgent.toLowerCase().includes("firefox"),n=O(e);return"none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||["transform","perspective"].includes(n.willChange)||t&&"filter"===n.willChange||t&&!!n.filter&&"none"!==n.filter}const j=Math.min,k=Math.max,T=Math.round;function R(e,t){void 0===t&&(t=!1);const n=e.getBoundingClientRect();let r=1,o=1;return t&&C(e)&&(r=e.offsetWidth>0&&T(n.width)/e.offsetWidth||1,o=e.offsetHeight>0&&T(n.height)/e.offsetHeight||1),{width:n.width/r,height:n.height/o,top:n.top/o,right:n.right/r,bottom:n.bottom/o,left:n.left/r,x:n.left/r,y:n.top/o}}function B(e){return(t=e,(t instanceof D(t).Node?e.ownerDocument:e.document)||window.document).documentElement;var t}function _(e){return w(e)?{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}:{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function N(e){return R(B(e)).left+_(e).scrollLeft}function L(e,t,n){const r=C(t),o=B(t),i=R(e,r&&function(e){const t=R(e);return T(t.width)!==e.offsetWidth||T(t.height)!==e.offsetHeight}(t));let a={scrollLeft:0,scrollTop:0};const u={x:0,y:0};if(r||!r&&"fixed"!==n)if(("body"!==E(t)||F(o))&&(a=_(t)),C(t)){const e=R(t,!0);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else o&&(u.x=N(o));return{x:i.left+a.scrollLeft-u.x,y:i.top+a.scrollTop-u.y,width:i.width,height:i.height}}function $(e){return"html"===E(e)?e:e.assignedSlot||e.parentNode||(A(e)?e.host:null)||B(e)}function I(e){return C(e)&&"fixed"!==getComputedStyle(e).position?e.offsetParent:null}function M(e){const t=D(e);let n=I(e);for(;n&&P(n)&&"static"===getComputedStyle(n).position;)n=I(n);return n&&("html"===E(n)||"body"===E(n)&&"static"===getComputedStyle(n).position&&!x(n))?t:n||function(e){let t=$(e);for(;C(t)&&!["html","body"].includes(E(t));){if(x(t))return t;t=t.parentNode}return null}(e)||t}function V(e){return{width:e.offsetWidth,height:e.offsetHeight}}function U(e){return["html","body","#document"].includes(E(e))?e.ownerDocument.body:C(e)&&F(e)?e:U($(e))}function z(e,t){var n;void 0===t&&(t=[]);const r=U(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),i=D(r),a=o?[i].concat(i.visualViewport||[],F(r)?r:[]):r,u=t.concat(a);return o?u:u.concat(z($(a)))}function H(e,t){return"viewport"===t?l(function(e){const t=D(e),n=B(e),r=t.visualViewport;let o=n.clientWidth,i=n.clientHeight,a=0,u=0;return r&&(o=r.width,i=r.height,Math.abs(t.innerWidth/r.scale-r.width)<.01&&(a=r.offsetLeft,u=r.offsetTop)),{width:o,height:i,x:a,y:u}}(e)):S(t)?function(e){const t=R(e),n=t.top+e.clientTop,r=t.left+e.clientLeft;return{top:n,left:r,x:r,y:n,right:r+e.clientWidth,bottom:n+e.clientHeight,width:e.clientWidth,height:e.clientHeight}}(t):l(function(e){var t;const n=B(e),r=_(e),o=null==(t=e.ownerDocument)?void 0:t.body,i=k(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=k(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);let u=-r.scrollLeft+N(e);const s=-r.scrollTop;return"rtl"===O(o||n).direction&&(u+=k(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:u,y:s}}(B(e)))}function W(e){const t=z($(e)),n=["absolute","fixed"].includes(O(e).position)&&C(e)?M(e):e;return S(n)?t.filter((e=>S(e)&&function(e,t){const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&A(n)){let n=t;do{if(n&&e===n)return!0;n=n.parentNode||n.host}while(n)}return!1}(e,n)&&"body"!==E(e))):[]}const q={getElementRects:e=>{let{reference:t,floating:n,strategy:r}=e;return{reference:L(t,M(n),r),floating:{...V(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:e=>function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=C(n),i=B(n);if(n===i)return t;let a={scrollLeft:0,scrollTop:0};const u={x:0,y:0};if((o||!o&&"fixed"!==r)&&(("body"!==E(n)||F(i))&&(a=_(n)),C(n))){const e=R(n,!0);u.x=e.x+n.clientLeft,u.y=e.y+n.clientTop}return{...t,x:t.x-a.scrollLeft+u.x,y:t.y-a.scrollTop+u.y}}(e),getOffsetParent:e=>{let{element:t}=e;return M(t)},isElement:e=>S(e),getDocumentElement:e=>{let{element:t}=e;return B(t)},getClippingClientRect:e=>function(e){let{element:t,boundary:n,rootBoundary:r}=e;const o=[..."clippingParents"===n?W(t):[].concat(n),r],i=o[0],a=o.reduce(((e,n)=>{const r=H(t,n);return e.top=k(r.top,e.top),e.right=j(r.right,e.right),e.bottom=j(r.bottom,e.bottom),e.left=k(r.left,e.left),e}),H(t,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(e),getDimensions:e=>{let{element:t}=e;return V(t)},getClientRects:e=>{let{element:t}=e;return t.getClientRects()}};var G=n(20144),K=Object.defineProperty,Y=Object.defineProperties,J=Object.getOwnPropertyDescriptors,X=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,ee=(e,t,n)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,te=(e,t)=>{for(var n in t||(t={}))Q.call(t,n)&&ee(e,n,t[n]);if(X)for(var n of X(t))Z.call(t,n)&&ee(e,n,t[n]);return e},ne=(e,t)=>Y(e,J(t)),re=(e,t)=>{var n={};for(var r in e)Q.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&X)for(var r of X(e))t.indexOf(r)<0&&Z.call(e,r)&&(n[r]=e[r]);return n};function oe(e,t){for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&("object"==typeof t[n]&&e[n]?oe(e[n],t[n]):e[n]=t[n])}const ie={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:e=>[...e,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function ae(e,t){let n,r=ie.themes[e]||{};do{n=r[t],void 0===n?r.$extend?r=ie.themes[r.$extend]||{}:(r=null,n=ie[t]):r=null}while(r);return n}function ue(e){const t=[e];let n=ie.themes[e]||{};do{n.$extend?(t.push(n.$extend),n=ie.themes[n.$extend]||{}):n=null}while(n);return t}let se=!1;if("undefined"!=typeof window){se=!1;try{const e=Object.defineProperty({},"passive",{get(){se=!0}});window.addEventListener("test",null,e)}catch(e){}}let le=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(le=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const ce=["auto","top","bottom","left","right"].reduce(((e,t)=>e.concat([t,`${t}-start`,`${t}-end`])),[]),fe={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},de={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function pe(e,t){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}function ve(){return new Promise((e=>requestAnimationFrame((()=>{requestAnimationFrame(e)}))))}const he=[];let me=null;const ge={};function ye(e){let t=ge[e];return t||(t=ge[e]=[]),t}let be=function(){};function we(e){return function(){return ae(this.$props.theme,e)}}"undefined"!=typeof window&&(be=window.Element);const De="__floating-vue__popper";var Oe=()=>({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:we("disabled")},positioningDisabled:{type:Boolean,default:we("positioningDisabled")},placement:{type:String,default:we("placement"),validator:e=>ce.includes(e)},delay:{type:[String,Number,Object],default:we("delay")},distance:{type:[Number,String],default:we("distance")},skidding:{type:[Number,String],default:we("skidding")},triggers:{type:Array,default:we("triggers")},showTriggers:{type:[Array,Function],default:we("showTriggers")},hideTriggers:{type:[Array,Function],default:we("hideTriggers")},popperTriggers:{type:Array,default:we("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:we("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:we("popperHideTriggers")},container:{type:[String,Object,be,Boolean],default:we("container")},boundary:{type:[String,be],default:we("boundary")},strategy:{type:String,validator:e=>["absolute","fixed"].includes(e),default:we("strategy")},autoHide:{type:[Boolean,Function],default:we("autoHide")},handleResize:{type:Boolean,default:we("handleResize")},instantMove:{type:Boolean,default:we("instantMove")},eagerMount:{type:Boolean,default:we("eagerMount")},popperClass:{type:[String,Array,Object],default:we("popperClass")},computeTransformOrigin:{type:Boolean,default:we("computeTransformOrigin")},autoMinSize:{type:Boolean,default:we("autoMinSize")},autoSize:{type:[Boolean,String],default:we("autoSize")},autoMaxSize:{type:Boolean,default:we("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:we("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:we("preventOverflow")},overflowPadding:{type:[Number,String],default:we("overflowPadding")},arrowPadding:{type:[Number,String],default:we("arrowPadding")},arrowOverflow:{type:Boolean,default:we("arrowOverflow")},flip:{type:Boolean,default:we("flip")},shift:{type:Boolean,default:we("shift")},shiftCrossAxis:{type:Boolean,default:we("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:we("noAutoFocus")}},provide(){return{[De]:{parentPopper:this}}},inject:{[De]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set,lastAutoHide:!0}},computed:{popperId(){return null!=this.ariaId?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:"function"==typeof this.autoHide?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:ne(te({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var e;return null==(e=this[De])?void 0:e.parentPopper},hasPopperShowTriggerHover(){var e,t;return(null==(e=this.popperTriggers)?void 0:e.includes("hover"))||(null==(t=this.popperShowTriggers)?void 0:t.includes("hover"))}},watch:te(te({shown:"$_autoShowHide",disabled(e){e?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())}},["triggers","positioningDisabled"].reduce(((e,t)=>(e[t]="$_refreshListeners",e)),{})),["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce(((e,t)=>(e[t]="$_computePosition",e)),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map((e=>e.toString(36).substring(2,10))).join("_")}`,this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:e=null,skipDelay:t=!1,force:n=!1}={}){var r,o;(null==(r=this.parentPopper)?void 0:r.lockedChild)&&this.parentPopper.lockedChild!==this||(this.$_pendingHide=!1,!n&&this.disabled||((null==(o=this.parentPopper)?void 0:o.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame((()=>{this.$_showFrameLocked=!1}))),this.$emit("update:shown",!0))},hide({event:e=null,skipDelay:t=!1,skipAiming:n=!1}={}){var r;this.$_hideInProgress||(this.shownChildren.size>0?this.$_pendingHide=!0:!n&&this.hasPopperShowTriggerHover&&this.$_isAimingPopper()?this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout((()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null)}),1e3)):((null==(r=this.parentPopper)?void 0:r.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_pendingHide=!1,this.$_scheduleHide(e,t),this.$emit("hide"),this.$emit("update:shown",!1)))},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter((e=>e.nodeType===e.ELEMENT_NODE)),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var e;if(this.$_isDisposed||this.positioningDisabled)return;const t={strategy:this.strategy,middleware:[]};var n;(this.distance||this.skidding)&&t.middleware.push((void 0===(n={mainAxis:this.distance,crossAxis:this.skidding})&&(n=0),{name:"offset",options:n,fn(e){const{x:t,y:o,placement:a,rects:u}=e,s=function(e){let{placement:t,rects:n,value:o}=e;const a=r(t),u=["left","top"].includes(a)?-1:1,s="function"==typeof o?o({...n,placement:t}):o,{mainAxis:l,crossAxis:c}="number"==typeof s?{mainAxis:s,crossAxis:0}:{mainAxis:0,crossAxis:0,...s};return"x"===i(a)?{x:c,y:l*u}:{x:l*u,y:c}}({placement:a,rects:u,value:n});return{x:t+s.x,y:o+s.y,data:s}}}));const l=this.placement.startsWith("auto");if(l?t.middleware.push(function(e){return void 0===e&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,i,a,u,s,l;const{x:f,y:d,rects:p,middlewareData:v,placement:h}=t,{alignment:g=null,allowedPlacements:w=b,autoAlignment:D=!0,...O}=e;if(null!=(n=v.autoPlacement)&&n.skip)return{};const E=function(e,t,n){return(e?[...n.filter((t=>o(t)===e)),...n.filter((t=>o(t)!==e))]:n.filter((e=>r(e)===e))).filter((n=>!e||o(n)===e||!!t&&y(n)!==n))}(g,D,w),C=await c(t,O),S=null!=(i=null==(a=v.autoPlacement)?void 0:a.index)?i:0,A=E[S],{main:F,cross:P}=m(A,p);if(h!==A)return{x:f,y:d,reset:{placement:E[0]}};const x=[C[r(A)],C[F],C[P]],j=[...null!=(u=null==(s=v.autoPlacement)?void 0:s.overflows)?u:[],{placement:A,overflows:x}],k=E[S+1];if(k)return{data:{index:S+1,overflows:j},reset:{placement:k}};const T=j.slice().sort(((e,t)=>e.overflows[0]-t.overflows[0])),R=null==(l=T.find((e=>{let{overflows:t}=e;return t.every((e=>e<=0))})))?void 0:l.placement;return{data:{skip:!0},reset:{placement:null!=R?R:T[0].placement}}}}}({alignment:null!=(e=this.placement.split("-")[1])?e:""})):t.placement=this.placement,this.preventOverflow&&(this.shift&&t.middleware.push(function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:a}=t,{mainAxis:u=!0,crossAxis:s=!1,limiter:l={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...f}=e,d={x:n,y:o},v=await c(t,f),h=i(r(a)),m="x"===h?"y":"x";let g=d[h],y=d[m];if(u){const e="y"===h?"bottom":"right";g=p(g+v["y"===h?"top":"left"],g,g-v[e])}if(s){const e="y"===m?"bottom":"right";y=p(y+v["y"===m?"top":"left"],y,y-v[e])}const b=l.fn({...t,[h]:g,[m]:y});return{...b,data:{x:b.x-n,y:b.y-o}}}}}({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!l&&this.flip&&t.middleware.push(function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:i,middlewareData:a,rects:u,initialPlacement:s}=t;if(null!=(n=a.flip)&&n.skip)return{};const{mainAxis:l=!0,crossAxis:f=!0,fallbackPlacements:d,fallbackStrategy:p="bestFit",flipAlignment:v=!0,...g}=e,b=r(i),w=d||(b!==s&&v?function(e){const t=h(e);return[y(e),t,y(t)]}(s):[h(s)]),D=[s,...w],O=await c(t,g),E=[];let C=(null==(o=a.flip)?void 0:o.overflows)||[];if(l&&E.push(O[b]),f){const{main:e,cross:t}=m(i,u);E.push(O[e],O[t])}if(C=[...C,{placement:i,overflows:E}],!E.every((e=>e<=0))){var S,A;const e=(null!=(S=null==(A=a.flip)?void 0:A.index)?S:0)+1,t=D[e];if(t)return{data:{index:e,overflows:C},reset:{placement:t}};let n="bottom";switch(p){case"bestFit":{var F;const e=null==(F=C.slice().sort(((e,t)=>e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)-t.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)))[0])?void 0:F.placement;e&&(n=e);break}case"initialPlacement":n=s}return{data:{skip:!0},reset:{placement:n}}}return{}}}}({padding:this.overflowPadding,boundary:this.boundary}))),t.middleware.push((e=>({name:"arrow",options:e,async fn(t){const{element:n,padding:o=0}=null!=e?e:{},{x:u,y:l,placement:c,rects:f,platform:d}=t;if(null==n)return{};const v=s(o),h={x:u,y:l},m=i(r(c)),g=a(m),y=await d.getDimensions({element:n}),b="y"===m?"top":"left",w="y"===m?"bottom":"right",D=f.reference[g]+f.reference[m]-h[m]-f.floating[g],O=h[m]-f.reference[m],E=await d.getOffsetParent({element:n}),C=E?"y"===m?E.clientHeight||0:E.clientWidth||0:0,S=D/2-O/2,A=v[b],F=C-y[g]-v[w],P=C/2-y[g]/2+S,x=p(A,P,F);return{data:{[m]:x,centerOffset:P-x}}}}))({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&t.middleware.push({name:"arrowOverflow",fn:({placement:e,rects:t,middlewareData:n})=>{let r;const{centerOffset:o}=n.arrow;return r=e.startsWith("top")||e.startsWith("bottom")?Math.abs(o)>t.reference.width/2:Math.abs(o)>t.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){const e=this.autoSize?this.autoSize:this.autoMinSize?"min":null;t.middleware.push({name:"autoSize",fn:({rects:t,placement:n,middlewareData:r})=>{var o;if(null==(o=r.autoSize)?void 0:o.skip)return{};let i,a;return n.startsWith("top")||n.startsWith("bottom")?i=t.reference.width:a=t.reference.height,this.$_innerNode.style["min"===e?"minWidth":"max"===e?"maxWidth":"width"]=null!=i?`${i}px`:null,this.$_innerNode.style["min"===e?"minHeight":"max"===e?"maxHeight":"height"]=null!=a?`${a}px`:null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,t.middleware.push(function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n;const{placement:i,rects:a,middlewareData:u}=t,{apply:s,...l}=e;if(null!=(n=u.size)&&n.skip)return{};const f=await c(t,l),p=r(i),v="end"===o(i);let h,m;"top"===p||"bottom"===p?(h=p,m=v?"left":"right"):(m=p,h=v?"top":"bottom");const g=d(f.left,0),y=d(f.right,0),b=d(f.top,0),w=d(f.bottom,0),D={height:a.floating.height-(["left","right"].includes(i)?2*(0!==b||0!==w?b+w:d(f.top,f.bottom)):f[h]),width:a.floating.width-(["top","bottom"].includes(i)?2*(0!==g||0!==y?g+y:d(f.left,f.right)):f[m])};return null==s||s({...D,...a}),{data:{skip:!0},reset:{rects:!0}}}}}({boundary:this.boundary,padding:this.overflowPadding,apply:({width:e,height:t})=>{this.$_innerNode.style.maxWidth=null!=e?`${e}px`:null,this.$_innerNode.style.maxHeight=null!=t?`${t}px`:null}})));const f=await((e,t,n)=>(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n;let s=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:l,y:c}=u({...s,placement:r}),f=r,d={};for(let n=0;n0?this.$_pendingHide=!0:(this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(me=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide")))},$_computeDelay(e){const t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,this.isShown||(this.$_ensureTeleport(),await ve(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...z(this.$_referenceNode),...z(this.$_popperNode)],"scroll",(()=>{this.$_computePosition()})))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(".v-popper__wrapper"),n=t.parentNode.getBoundingClientRect(),r=e.x+e.width/2-(n.left+t.offsetLeft),o=e.y+e.height/2-(n.top+t.offsetTop);this.result.transformOrigin=`${r}px ${o}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const e=this.showGroup;if(e){let t;for(let n=0;n0)return this.$_pendingHide=!0,void(this.$_hideInProgress=!1);if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,pe(he,this),0===he.length&&document.body.classList.remove("v-popper--some-open");for(const e of ue(this.theme)){const t=ye(e);pe(t,this),0===t.length&&document.body.classList.remove(`v-popper--some-open--${e}`)}me===this&&(me=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const t=ae(this.theme,"disposeTimeout");null!==t&&(this.$_disposeTimer=setTimeout((()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)}),t)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await ve(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let e=this.container;if("string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=this.$_targetNodes[0].parentNode),!e)throw new Error("No container for popover: "+this.container);e.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const e=e=>{this.isShown&&!this.$_hideInProgress||(e.usedByTooltip=!0,!this.$_preventShow&&this.show({event:e}))};this.$_registerTriggerListeners(this.$_targetNodes,fe,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],fe,this.popperTriggers,this.popperShowTriggers,e);const t=e=>t=>{t.usedByTooltip||this.hide({event:t,skipAiming:e})};this.$_registerTriggerListeners(this.$_targetNodes,de,this.triggers,this.hideTriggers,t(!1)),this.$_registerTriggerListeners([this.$_popperNode],de,this.popperTriggers,this.popperHideTriggers,t(!0))},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach((e=>e.addEventListener(t,n,se?{passive:!0}:void 0)))},$_registerTriggerListeners(e,t,n,r,o){let i=n;null!=r&&(i="function"==typeof r?r(i):r),i.forEach((n=>{const r=t[n];r&&this.$_registerEventListeners(e,r,o)}))},$_removeEventListeners(e){const t=[];this.$_events.forEach((n=>{const{targetNodes:r,eventType:o,handler:i}=n;e&&e!==o?t.push(n):r.forEach((e=>e.removeEventListener(o,i)))})),this.$_events=t},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(e,t=!1){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),t&&(this.$_preventShow=!0,setTimeout((()=>{this.$_preventShow=!1}),300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(e,t){for(const n of this.$_targetNodes){const r=n.getAttribute(e);r&&(n.removeAttribute(e),n.setAttribute(t,r))}},$_applyAttrsToTarget(e){for(const t of this.$_targetNodes)for(const n in e){const r=e[n];null==r?t.removeAttribute(n):t.setAttribute(n,r)}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.$_pendingHide&&t.hide()),t=t.parentPopper},$_isAimingPopper(){const e=this.$el.getBoundingClientRect();if(je>=e.left&&je<=e.right&&ke>=e.top&&ke<=e.bottom){const e=this.$_popperNode.getBoundingClientRect(),t=je-Pe,n=ke-xe,r=e.left+e.width/2-Pe+(e.top+e.height/2)-xe+e.width+e.height,o=Pe+t*r,i=xe+n*r;return Te(Pe,xe,o,i,e.left,e.top,e.left,e.bottom)||Te(Pe,xe,o,i,e.left,e.top,e.right,e.top)||Te(Pe,xe,o,i,e.right,e.top,e.right,e.bottom)||Te(Pe,xe,o,i,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});function Ee(e){for(let t=0;t=0;r--){const o=he[r];try{const r=o.$_containsGlobalTarget=Se(o,e);o.$_pendingHide=!1,requestAnimationFrame((()=>{if(o.$_pendingHide=!1,!n[o.randomId]&&Ae(o,r,e)){if(o.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&r){let e=o.parentPopper;for(;e;)n[e.randomId]=!0,e=e.parentPopper;return}let i=o.parentPopper;for(;i&&Ae(i,i.$_containsGlobalTarget,e);)i.$_handleGlobalClose(e,t),i=i.parentPopper}}))}catch(e){}}}function Se(e,t){const n=e.popperNode();return e.$_mouseDownContains||n.contains(t.target)}function Ae(e,t,n){return n.closeAllPopover||n.closePopover&&t||function(e,t){if("function"==typeof e.autoHide){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}(e,n)&&!t}function Fe(){for(let e=0;e=0&&s<=1&&l>=0&&l<=1}var Re;function Be(){Be.init||(Be.init=!0,Re=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}())}function _e(e,t,n,r,o,i,a,u,s,l){"boolean"!=typeof a&&(s=u,u=a,a=!1);var c,f="function"==typeof n?n.options:n;if(e&&e.render&&(f.render=e.render,f.staticRenderFns=e.staticRenderFns,f._compiled=!0,o&&(f.functional=!0)),r&&(f._scopeId=r),i?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,s(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},f._ssrRegister=c):t&&(c=a?function(e){t.call(this,l(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,u(e))}),c)if(f.functional){var d=f.render;f.render=function(e,t){return c.call(t),d(e,t)}}else{var p=f.beforeCreate;f.beforeCreate=p?[].concat(p,c):[c]}return n}"undefined"!=typeof window&&window.addEventListener("mousemove",(e=>{Pe=je,xe=ke,je=e.clientX,ke=e.clientY}),se?{passive:!0}:void 0);var Ne={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;Be(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",Re&&this.$el.appendChild(t),t.data="about:blank",Re||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!Re&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},Le=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};Le._withStripped=!0;var $e=_e({render:Le,staticRenderFns:[]},void 0,Ne,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0),Ie={version:"1.0.1",install:function(e){e.component("resize-observer",$e),e.component("ResizeObserver",$e)}},Me=null;"undefined"!=typeof window?Me=window.Vue:void 0!==n.g&&(Me=n.g.Vue),Me&&Me.use(Ie);var Ve={computed:{themeClass(){return function(e){const t=[e];let n=ie.themes[e]||{};do{n.$extend&&!n.$resetCss?(t.push(n.$extend),n=ie.themes[n.$extend]||{}):n=null}while(n);return t.map((e=>`v-popper--theme-${e}`))}(this.theme)}}},Ue={name:"VPopperContent",components:{ResizeObserver:$e},mixins:[Ve],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx:e=>null==e||isNaN(e)?null:`${e}px`}};function ze(e,t,n,r,o,i,a,u){var s,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),a?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=s):o&&(s=u?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(l.functional){l._injectStyles=s;var c=l.render;l.render=function(e,t){return s.call(t),c(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,s):[s]}return{exports:e,options:l}}const He={};var We=ze(Ue,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"popover",staticClass:"v-popper__popper",class:[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}],style:e.result?{position:e.result.strategy,transform:"translate3d("+Math.round(e.result.x)+"px,"+Math.round(e.result.y)+"px,0)"}:void 0,attrs:{id:e.popperId,"aria-hidden":e.shown?"false":"true",tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0},on:{keyup:function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;e.autoHide&&e.$emit("hide")}}},[n("div",{staticClass:"v-popper__backdrop",on:{click:function(t){e.autoHide&&e.$emit("hide")}}}),n("div",{staticClass:"v-popper__wrapper",style:e.result?{transformOrigin:e.result.transformOrigin}:void 0},[n("div",{ref:"inner",staticClass:"v-popper__inner"},[e.mounted?[n("div",[e._t("default")],2),e.handleResize?n("ResizeObserver",{on:{notify:function(t){return e.$emit("resize",t)}}}):e._e()]:e._e()],2),n("div",{ref:"arrow",staticClass:"v-popper__arrow-container",style:e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0},[n("div",{staticClass:"v-popper__arrow-outer"}),n("div",{staticClass:"v-popper__arrow-inner"})])])])}),[],!1,qe,null,null,null);function qe(e){for(let e in He)this[e]=He[e]}var Ge=function(){return We.exports}(),Ke={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}},Ye={name:"VPopperWrapper",components:{Popper:Oe(),PopperContent:Ge},mixins:[Ke,Ve],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter((e=>e!==this.$refs.popperContent.$el))}}};const Je={};var Xe=ze(Ye,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Popper",e._g(e._b({ref:"popper",attrs:{theme:e.theme,"target-nodes":e.getTargetNodes,"reference-node":function(){return e.$refs.reference},"popper-node":function(){return e.$refs.popperContent.$el}},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.popperId,o=t.isShown,i=t.shouldMountContent,a=t.skipTransition,u=t.autoHide,s=t.show,l=t.hide,c=t.handleResize,f=t.onResize,d=t.classes,p=t.result;return[n("div",{ref:"reference",staticClass:"v-popper",class:[e.themeClass,{"v-popper--shown":o}]},[e._t("default",null,{shown:o,show:s,hide:l}),n("PopperContent",{ref:"popperContent",attrs:{"popper-id":r,theme:e.theme,shown:o,mounted:i,"skip-transition":a,"auto-hide":u,"handle-resize":c,classes:d,result:p},on:{hide:l,resize:f}},[e._t("popper",null,{shown:o,hide:l})],2)],2)]}}],null,!0)},"Popper",e.$attrs,!1),e.$listeners))}),[],!1,Qe,null,null,null);function Qe(e){for(let e in Je)this[e]=Je[e]}var Ze=function(){return Xe.exports}(),et=ne(te({},Ze),{name:"VDropdown",vPopperTheme:"dropdown"});const tt={};var nt=ze(et,void 0,void 0,!1,rt,null,null,null);function rt(e){for(let e in tt)this[e]=tt[e]}var ot=function(){return nt.exports}(),it=ne(te({},Ze),{name:"VMenu",vPopperTheme:"menu"});const at={};var ut=ze(it,void 0,void 0,!1,st,null,null,null);function st(e){for(let e in at)this[e]=at[e]}var lt=function(){return ut.exports}(),ct=ne(te({},Ze),{name:"VTooltip",vPopperTheme:"tooltip"});const ft={};var dt=ze(ct,void 0,void 0,!1,pt,null,null,null);function pt(e){for(let e in ft)this[e]=ft[e]}var vt=function(){return dt.exports}(),ht={name:"VTooltipDirective",components:{Popper:Oe(),PopperContent:Ge},mixins:[Ke],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default(){return ae(this.theme,"html")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return ae(this.theme,"loadingContent")}}},data:()=>({asyncContent:null}),computed:{isContentAsync(){return"function"==typeof this.content},loading(){return this.isContentAsync&&null==this.asyncContent},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(e){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(e){if("function"==typeof this.content&&this.$_isShown&&(e||!this.$_loading&&null==this.asyncContent)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,t=this.content(this);t.then?t.then((t=>this.onResult(e,t))):this.onResult(e,t)}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=t)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}};const mt={};var gt=ze(ht,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Popper",e._g(e._b({ref:"popper",attrs:{theme:e.theme,"popper-node":function(){return e.$refs.popperContent.$el}},on:{"apply-show":e.onShow,"apply-hide":e.onHide},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.popperId,o=t.isShown,i=t.shouldMountContent,a=t.skipTransition,u=t.autoHide,s=t.hide,l=t.handleResize,c=t.onResize,f=t.classes,d=t.result;return[n("PopperContent",{ref:"popperContent",class:{"v-popper--tooltip-loading":e.loading},attrs:{"popper-id":r,theme:e.theme,shown:o,mounted:i,"skip-transition":a,"auto-hide":u,"handle-resize":l,classes:f,result:d},on:{hide:s,resize:c}},[e.html?n("div",{domProps:{innerHTML:e._s(e.finalContent)}}):n("div",{domProps:{textContent:e._s(e.finalContent)}})])]}}])},"Popper",e.$attrs,!1),e.$listeners))}),[],!1,yt,null,null,null);function yt(e){for(let e in mt)this[e]=mt[e]}var bt=function(){return gt.exports}();const wt="v-popper--has-tooltip";function Dt(e,t,n){let r;const o=typeof t;return r="string"===o?{content:t}:t&&"object"===o?t:{content:!1},r.placement=function(e,t){let n=e.placement;if(!n&&t)for(const e of ce)t[e]&&(n=e);return n||(n=ae(e.theme||"tooltip","placement")),n}(r,n),r.targetNodes=()=>[e],r.referenceNode=()=>e,r}function Ot(e,t,n){const r=Dt(e,t,n),o=e.$_popper=new G.default({mixins:[Ke],data:()=>({options:r}),render(e){const t=this.options,{theme:n,html:r,content:o,loadingContent:i}=t,a=re(t,["theme","html","content","loadingContent"]);return e(bt,{props:{theme:n,html:r,content:o,loadingContent:i},attrs:a,ref:"popper"})},devtools:{hide:!0}}),i=document.createElement("div");return document.body.appendChild(i),o.$mount(i),e.classList&&e.classList.add(wt),o}function Et(e){e.$_popper&&(e.$_popper.$destroy(),delete e.$_popper,delete e.$_popperOldShown),e.classList&&e.classList.remove(wt)}function Ct(e,{value:t,oldValue:n,modifiers:r}){const o=Dt(e,t,r);if(!o.content||ae(o.theme||"tooltip","disabled"))Et(e);else{let n;e.$_popper?(n=e.$_popper,n.options=o):n=Ot(e,t,r),void 0!==t.shown&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?n.show():n.hide())}}var St={bind:Ct,update:Ct,unbind(e){Et(e)}};function At(e){e.addEventListener("click",Pt),e.addEventListener("touchstart",xt,!!se&&{passive:!0})}function Ft(e){e.removeEventListener("click",Pt),e.removeEventListener("touchstart",xt),e.removeEventListener("touchend",jt),e.removeEventListener("touchcancel",kt)}function Pt(e){const t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function xt(e){if(1===e.changedTouches.length){const t=e.currentTarget;t.$_vclosepopover_touch=!0;const n=e.changedTouches[0];t.$_vclosepopover_touchPoint=n,t.addEventListener("touchend",jt),t.addEventListener("touchcancel",kt)}}function jt(e){const t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){const n=e.changedTouches[0],r=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function kt(e){e.currentTarget.$_vclosepopover_touch=!1}var Tt={bind(e,{value:t,modifiers:n}){e.$_closePopoverModifiers=n,(void 0===t||t)&&At(e)},update(e,{value:t,oldValue:n,modifiers:r}){e.$_closePopoverModifiers=r,t!==n&&(void 0===t||t?At(e):Ft(e))},unbind(e){Ft(e)}};const Rt=ie,Bt=St,_t=Tt,Nt=ot,Lt=lt,$t=Oe,It=Ge,Mt=Ke,Vt=Ze,Ut=Ve,zt=vt,Ht=bt;function Wt(e,t={}){e.$_vTooltipInstalled||(e.$_vTooltipInstalled=!0,oe(ie,t),e.directive("tooltip",St),e.directive("close-popper",Tt),e.component("v-tooltip",vt),e.component("VTooltip",vt),e.component("v-dropdown",ot),e.component("VDropdown",ot),e.component("v-menu",lt),e.component("VMenu",lt))}const qt={version:"1.0.0-beta.19",install:Wt,options:ie};let Gt=null;"undefined"!=typeof window?Gt=window.Vue:void 0!==n.g&&(Gt=n.g.Vue),Gt&&Gt.use(qt)},44291:(e,t,n)=>{"use strict";n.r(t),n.d(t,{createFocusTrap:()=>B});var r=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],o=r.join(","),i="undefined"==typeof Element,a=i?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,u=!i&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},s=function e(t,n){var r;void 0===n&&(n=!0);var o=null==t||null===(r=t.getAttribute)||void 0===r?void 0:r.call(t,"inert");return""===o||"true"===o||n&&t&&e(t.parentNode)},l=function(e,t,n){if(s(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(o));return t&&a.call(e,o)&&r.unshift(e),r.filter(n)},c=function e(t,n,r){for(var i=[],u=Array.from(t);u.length;){var l=u.shift();if(!s(l,!1))if("SLOT"===l.tagName){var c=l.assignedElements(),f=e(c.length?c:l.children,!0,r);r.flatten?i.push.apply(i,f):i.push({scopeParent:l,candidates:f})}else{a.call(l,o)&&r.filter(l)&&(n||!t.includes(l))&&i.push(l);var d=l.shadowRoot||"function"==typeof r.getShadowRoot&&r.getShadowRoot(l),p=!s(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(l));if(d&&p){var v=e(!0===d?l.children:d.children,!0,r);r.flatten?i.push.apply(i,v):i.push({scopeParent:l,candidates:v})}else u.unshift.apply(u,l.children)}}return i},f=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},d=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,"contenteditable");return""===n||"true"===n}(e))&&!f(e)?0:e.tabIndex},p=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},v=function(e){return"INPUT"===e.tagName},h=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return 0===n&&0===r},m=function(e,t){return!(t.disabled||s(t)||function(e){return v(e)&&"hidden"===e.type}(t)||function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if("hidden"===getComputedStyle(e).visibility)return!0;var o=a.call(e,"details>summary:first-of-type")?e.parentElement:e;if(a.call(o,"details:not([open]) *"))return!0;if(n&&"full"!==n&&"legacy-full"!==n){if("non-zero-area"===n)return h(e)}else{if("function"==typeof r){for(var i=e;e;){var s=e.parentElement,l=u(e);if(s&&!s.shadowRoot&&!0===r(s))return h(e);e=e.assignedSlot?e.assignedSlot:s||l===e.ownerDocument?s:l.host}e=i}if(function(e){var t,n,r,o,i=e&&u(e),a=null===(t=i)||void 0===t?void 0:t.host,s=!1;if(i&&i!==e)for(s=!!(null!==(n=a)&&void 0!==n&&null!==(r=n.ownerDocument)&&void 0!==r&&r.contains(a)||null!=e&&null!==(o=e.ownerDocument)&&void 0!==o&&o.contains(e));!s&&a;){var l,c,f;s=!(null===(c=a=null===(l=i=u(a))||void 0===l?void 0:l.host)||void 0===c||null===(f=c.ownerDocument)||void 0===f||!f.contains(a))}return s}(e))return!e.getClientRects().length;if("legacy-full"!==n)return!0}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return"SUMMARY"===e.tagName}))}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n=0)},b=function e(t){var n=[],r=[];return t.forEach((function(t,o){var i=!!t.scopeParent,a=i?t.scopeParent:t,u=function(e,t){var n=d(e);return n<0&&t&&!f(e)?0:n}(a,i),s=i?e(t.candidates):a;0===u?i?n.push.apply(n,s):n.push(a):r.push({documentOrder:o,tabIndex:u,item:t,isScope:i,content:s})})),r.sort(p).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)},w=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==a.call(e,o)&&g(t,e)},D=r.concat("iframe").join(","),O=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==a.call(e,D)&&m(t,e)};function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function C(e){for(var t=1;t1?t-1:0),r=1;r1?n-1:0),a=1;a=0)e=r.activeElement;else{var t=a.tabbableGroups[0];e=t&&t.firstTabbableNode||f("fallbackFocus")}if(!e)throw new Error("Your focus-trap needs to have at least one focusable element");return e},v=function(){if(a.containerGroups=a.containers.map((function(e){var t=function(e,t){var n;return n=(t=t||{}).getShadowRoot?c([e],t.includeContainer,{filter:g.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:y}):l(e,t.includeContainer,g.bind(null,t)),b(n)}(e,i.tabbableOptions),n=function(e,t){return(t=t||{}).getShadowRoot?c([e],t.includeContainer,{filter:m.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):l(e,t.includeContainer,m.bind(null,t))}(e,i.tabbableOptions),r=t.length>0?t[0]:void 0,o=t.length>0?t[t.length-1]:void 0,a=n.find((function(e){return w(e)})),u=n.slice().reverse().find((function(e){return w(e)})),s=!!t.find((function(e){return d(e)>0}));return{container:e,tabbableNodes:t,focusableNodes:n,posTabIndexesFound:s,firstTabbableNode:r,lastTabbableNode:o,firstDomTabbableNode:a,lastDomTabbableNode:u,nextTabbableNode:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=t.indexOf(e);return o<0?r?n.slice(n.indexOf(e)+1).find((function(e){return w(e)})):n.slice(0,n.indexOf(e)).reverse().find((function(e){return w(e)})):t[o+(r?1:-1)]}}})),a.tabbableGroups=a.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),a.tabbableGroups.length<=0&&!f("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(a.containerGroups.find((function(e){return e.posTabIndexesFound}))&&a.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},h=function e(t){!1!==t&&t!==r.activeElement&&(t&&t.focus?(t.focus({preventScroll:!!i.preventScroll}),a.mostRecentlyFocusedNode=t,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(t)&&t.select()):e(p()))},D=function(e){var t=f("setReturnFocus",e);return t||!1!==t&&e},E=function(e){var t=e.target,n=e.event,r=e.isBackward,o=void 0!==r&&r;t=t||T(n),v();var u=null;if(a.tabbableGroups.length>0){var l=s(t,n),c=l>=0?a.containerGroups[l]:void 0;if(l<0)u=o?a.tabbableGroups[a.tabbableGroups.length-1].lastTabbableNode:a.tabbableGroups[0].firstTabbableNode;else if(o){var p=j(a.tabbableGroups,(function(e){var n=e.firstTabbableNode;return t===n}));if(p<0&&(c.container===t||O(t,i.tabbableOptions)&&!w(t,i.tabbableOptions)&&!c.nextTabbableNode(t,!1))&&(p=l),p>=0){var h=0===p?a.tabbableGroups.length-1:p-1,m=a.tabbableGroups[h];u=d(t)>=0?m.lastTabbableNode:m.lastDomTabbableNode}else A(n)||(u=c.nextTabbableNode(t,!1))}else{var g=j(a.tabbableGroups,(function(e){var n=e.lastTabbableNode;return t===n}));if(g<0&&(c.container===t||O(t,i.tabbableOptions)&&!w(t,i.tabbableOptions)&&!c.nextTabbableNode(t))&&(g=l),g>=0){var y=g===a.tabbableGroups.length-1?0:g+1,b=a.tabbableGroups[y];u=d(t)>=0?b.firstTabbableNode:b.firstDomTabbableNode}else A(n)||(u=c.nextTabbableNode(t))}}else u=f("fallbackFocus");return u},S=function(e){var t=T(e);s(t,e)>=0||(k(i.clickOutsideDeactivates,e)?n.deactivate({returnFocus:i.returnFocusOnDeactivate}):k(i.allowOutsideClick,e)||e.preventDefault())},B=function(e){var t=T(e),n=s(t,e)>=0;if(n||t instanceof Document)n&&(a.mostRecentlyFocusedNode=t);else{var r;e.stopImmediatePropagation();var o=!0;if(a.mostRecentlyFocusedNode)if(d(a.mostRecentlyFocusedNode)>0){var u=s(a.mostRecentlyFocusedNode),l=a.containerGroups[u].tabbableNodes;if(l.length>0){var c=l.findIndex((function(e){return e===a.mostRecentlyFocusedNode}));c>=0&&(i.isKeyForward(a.recentNavEvent)?c+1=0&&(r=l[c-1],o=!1))}}else a.containerGroups.some((function(e){return e.tabbableNodes.some((function(e){return d(e)>0}))}))||(o=!1);else o=!1;o&&(r=E({target:a.mostRecentlyFocusedNode,isBackward:i.isKeyBackward(a.recentNavEvent)})),h(r||a.mostRecentlyFocusedNode||p())}a.recentNavEvent=void 0},_=function(e){if(("Escape"===(null==(t=e)?void 0:t.key)||"Esc"===(null==t?void 0:t.key)||27===(null==t?void 0:t.keyCode))&&!1!==k(i.escapeDeactivates,e))return e.preventDefault(),void n.deactivate();var t;(i.isKeyForward(e)||i.isKeyBackward(e))&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];a.recentNavEvent=e;var n=E({event:e,isBackward:t});n&&(A(e)&&e.preventDefault(),h(n))}(e,i.isKeyBackward(e))},N=function(e){var t=T(e);s(t,e)>=0||k(i.clickOutsideDeactivates,e)||k(i.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},L=function(){if(a.active)return function(e,t){if(e.length>0){var n=e[e.length-1];n!==t&&n.pause()}var r=e.indexOf(t);-1===r||e.splice(r,1),e.push(t)}(o,n),a.delayInitialFocusTimer=i.delayInitialFocus?x((function(){h(p())})):h(p()),r.addEventListener("focusin",B,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",N,{capture:!0,passive:!1}),r.addEventListener("keydown",_,{capture:!0,passive:!1}),n},$=function(){if(a.active)return r.removeEventListener("focusin",B,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",N,!0),r.removeEventListener("keydown",_,!0),n},I="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(e){e.some((function(e){return Array.from(e.removedNodes).some((function(e){return e===a.mostRecentlyFocusedNode}))}))&&h(p())})):void 0,M=function(){I&&(I.disconnect(),a.active&&!a.paused&&a.containers.map((function(e){I.observe(e,{subtree:!0,childList:!0})})))};return(n={get active(){return a.active},get paused(){return a.paused},activate:function(e){if(a.active)return this;var t=u(e,"onActivate"),n=u(e,"onPostActivate"),o=u(e,"checkCanFocusTrap");o||v(),a.active=!0,a.paused=!1,a.nodeFocusedBeforeActivation=r.activeElement,null==t||t();var i=function(){o&&v(),L(),M(),null==n||n()};return o?(o(a.containers.concat()).then(i,i),this):(i(),this)},deactivate:function(e){if(!a.active)return this;var t=C({onDeactivate:i.onDeactivate,onPostDeactivate:i.onPostDeactivate,checkCanReturnFocus:i.checkCanReturnFocus},e);clearTimeout(a.delayInitialFocusTimer),a.delayInitialFocusTimer=void 0,$(),a.active=!1,a.paused=!1,M(),function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1),e.length>0&&e[e.length-1].unpause()}(o,n);var r=u(t,"onDeactivate"),s=u(t,"onPostDeactivate"),l=u(t,"checkCanReturnFocus"),c=u(t,"returnFocus","returnFocusOnDeactivate");null==r||r();var f=function(){x((function(){c&&h(D(a.nodeFocusedBeforeActivation)),null==s||s()}))};return c&&l?(l(D(a.nodeFocusedBeforeActivation)).then(f,f),this):(f(),this)},pause:function(e){if(a.paused||!a.active)return this;var t=u(e,"onPause"),n=u(e,"onPostPause");return a.paused=!0,null==t||t(),$(),M(),null==n||n(),this},unpause:function(e){if(!a.paused||!a.active)return this;var t=u(e,"onUnpause"),n=u(e,"onPostUnpause");return a.paused=!1,null==t||t(),v(),L(),M(),null==n||n(),this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return a.containers=t.map((function(e){return"string"==typeof e?r.querySelector(e):e})),a.active&&v(),M(),this}}).updateContainerElements(e),n}},48738:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},50337:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Ie});var r="aaa aarp abarth abb abbott abbvie abc able abogado abudhabi ac academy accenture accountant accountants aco actor ad adac ads adult ae aeg aero aetna af afl africa ag agakhan agency ai aig airbus airforce airtel akdn al alfaromeo alibaba alipay allfinanz allstate ally alsace alstom am amazon americanexpress americanfamily amex amfam amica amsterdam analytics android anquan anz ao aol apartments app apple aq aquarelle ar arab aramco archi army arpa art arte as asda asia associates at athleta attorney au auction audi audible audio auspost author auto autos avianca aw aws ax axa az azure ba baby baidu banamex bananarepublic band bank bar barcelona barclaycard barclays barefoot bargains baseball basketball bauhaus bayern bb bbc bbt bbva bcg bcn bd be beats beauty beer bentley berlin best bestbuy bet bf bg bh bharti bi bible bid bike bing bingo bio biz bj black blackfriday blockbuster blog bloomberg blue bm bms bmw bn bnpparibas bo boats boehringer bofa bom bond boo book booking bosch bostik boston bot boutique box br bradesco bridgestone broadway broker brother brussels bs bt bugatti build builders business buy buzz bv bw by bz bzh ca cab cafe cal call calvinklein cam camera camp cancerresearch canon capetown capital capitalone car caravan cards care career careers cars casa case cash casino cat catering catholic cba cbn cbre cbs cc cd center ceo cern cf cfa cfd cg ch chanel channel charity chase chat cheap chintai christmas chrome church ci cipriani circle cisco citadel citi citic city cityeats ck cl claims cleaning click clinic clinique clothing cloud club clubmed cm cn co coach codes coffee college cologne com comcast commbank community company compare computer comsec condos construction consulting contact contractors cooking cookingchannel cool coop corsica country coupon coupons courses cpa cr credit creditcard creditunion cricket crown crs cruise cruises cu cuisinella cv cw cx cy cymru cyou cz dabur dad dance data date dating datsun day dclk dds de deal dealer deals degree delivery dell deloitte delta democrat dental dentist desi design dev dhl diamonds diet digital direct directory discount discover dish diy dj dk dm dnp do docs doctor dog domains dot download drive dtv dubai dunlop dupont durban dvag dvr dz earth eat ec eco edeka edu education ee eg email emerck energy engineer engineering enterprises epson equipment er ericsson erni es esq estate et etisalat eu eurovision eus events exchange expert exposed express extraspace fage fail fairwinds faith family fan fans farm farmers fashion fast fedex feedback ferrari ferrero fi fiat fidelity fido film final finance financial fire firestone firmdale fish fishing fit fitness fj fk flickr flights flir florist flowers fly fm fo foo food foodnetwork football ford forex forsale forum foundation fox fr free fresenius frl frogans frontdoor frontier ftr fujitsu fun fund furniture futbol fyi ga gal gallery gallo gallup game games gap garden gay gb gbiz gd gdn ge gea gent genting george gf gg ggee gh gi gift gifts gives giving gl glass gle global globo gm gmail gmbh gmo gmx gn godaddy gold goldpoint golf goo goodyear goog google gop got gov gp gq gr grainger graphics gratis green gripe grocery group gs gt gu guardian gucci guge guide guitars guru gw gy hair hamburg hangout haus hbo hdfc hdfcbank health healthcare help helsinki here hermes hgtv hiphop hisamitsu hitachi hiv hk hkt hm hn hockey holdings holiday homedepot homegoods homes homesense honda horse hospital host hosting hot hoteles hotels hotmail house how hr hsbc ht hu hughes hyatt hyundai ibm icbc ice icu id ie ieee ifm ikano il im imamat imdb immo immobilien in inc industries infiniti info ing ink institute insurance insure int international intuit investments io ipiranga iq ir irish is ismaili ist istanbul it itau itv jaguar java jcb je jeep jetzt jewelry jio jll jm jmp jnj jo jobs joburg jot joy jp jpmorgan jprs juegos juniper kaufen kddi ke kerryhotels kerrylogistics kerryproperties kfh kg kh ki kia kids kim kinder kindle kitchen kiwi km kn koeln komatsu kosher kp kpmg kpn kr krd kred kuokgroup kw ky kyoto kz la lacaixa lamborghini lamer lancaster lancia land landrover lanxess lasalle lat latino latrobe law lawyer lb lc lds lease leclerc lefrak legal lego lexus lgbt li lidl life lifeinsurance lifestyle lighting like lilly limited limo lincoln linde link lipsy live living lk llc llp loan loans locker locus loft lol london lotte lotto love lpl lplfinancial lr ls lt ltd ltda lu lundbeck luxe luxury lv ly ma macys madrid maif maison makeup man management mango map market marketing markets marriott marshalls maserati mattel mba mc mckinsey md me med media meet melbourne meme memorial men menu merckmsd mg mh miami microsoft mil mini mint mit mitsubishi mk ml mlb mls mm mma mn mo mobi mobile moda moe moi mom monash money monster mormon mortgage moscow moto motorcycles mov movie mp mq mr ms msd mt mtn mtr mu museum music mutual mv mw mx my mz na nab nagoya name natura navy nba nc ne nec net netbank netflix network neustar new news next nextdirect nexus nf nfl ng ngo nhk ni nico nike nikon ninja nissan nissay nl no nokia northwesternmutual norton now nowruz nowtv np nr nra nrw ntt nu nyc nz obi observer office okinawa olayan olayangroup oldnavy ollo om omega one ong onl online ooo open oracle orange org organic origins osaka otsuka ott ovh pa page panasonic paris pars partners parts party passagens pay pccw pe pet pf pfizer pg ph pharmacy phd philips phone photo photography photos physio pics pictet pictures pid pin ping pink pioneer pizza pk pl place play playstation plumbing plus pm pn pnc pohl poker politie porn post pr pramerica praxi press prime pro prod productions prof progressive promo properties property protection pru prudential ps pt pub pw pwc py qa qpon quebec quest racing radio re read realestate realtor realty recipes red redstone redumbrella rehab reise reisen reit reliance ren rent rentals repair report republican rest restaurant review reviews rexroth rich richardli ricoh ril rio rip ro rocher rocks rodeo rogers room rs rsvp ru rugby ruhr run rw rwe ryukyu sa saarland safe safety sakura sale salon samsclub samsung sandvik sandvikcoromant sanofi sap sarl sas save saxo sb sbi sbs sc sca scb schaeffler schmidt scholarships school schule schwarz science scot sd se search seat secure security seek select sener services ses seven sew sex sexy sfr sg sh shangrila sharp shaw shell shia shiksha shoes shop shopping shouji show showtime si silk sina singles site sj sk ski skin sky skype sl sling sm smart smile sn sncf so soccer social softbank software sohu solar solutions song sony soy spa space sport spot sr srl ss st stada staples star statebank statefarm stc stcgroup stockholm storage store stream studio study style su sucks supplies supply support surf surgery suzuki sv swatch swiss sx sy sydney systems sz tab taipei talk taobao target tatamotors tatar tattoo tax taxi tc tci td tdk team tech technology tel temasek tennis teva tf tg th thd theater theatre tiaa tickets tienda tiffany tips tires tirol tj tjmaxx tjx tk tkmaxx tl tm tmall tn to today tokyo tools top toray toshiba total tours town toyota toys tr trade trading training travel travelchannel travelers travelersinsurance trust trv tt tube tui tunes tushu tv tvs tw tz ua ubank ubs ug uk unicom university uno uol ups us uy uz va vacations vana vanguard vc ve vegas ventures verisign vermögensberater vermögensberatung versicherung vet vg vi viajes video vig viking villas vin vip virgin visa vision viva vivo vlaanderen vn vodka volkswagen volvo vote voting voto voyage vu vuelos wales walmart walter wang wanggou watch watches weather weatherchannel webcam weber website wed wedding weibo weir wf whoswho wien wiki williamhill win windows wine winners wme wolterskluwer woodside work works world wow ws wtc wtf xbox xerox xfinity xihuan xin xxx xyz yachts yahoo yamaxun yandex ye yodobashi yoga yokohama you youtube yt yun za zappos zara zero zip zm zone zuerich zw".split(" "),o="ελ ευ бг бел дети ею католик ком мкд мон москва онлайн орг рус рф сайт срб укр қаз հայ ישראל קום ابوظبي اتصالات ارامكو الاردن البحرين الجزائر السعودية العليان المغرب امارات ایران بارت بازار بيتك بھارت تونس سودان سورية شبكة عراق عرب عمان فلسطين قطر كاثوليك كوم مصر مليسيا موريتانيا موقع همراه پاکستان ڀارت कॉम नेट भारत भारतम् भारोत संगठन বাংলা ভারত ভাৰত ਭਾਰਤ ભારત ଭାରତ இந்தியா இலங்கை சிங்கப்பூர் భారత్ ಭಾರತ ഭാരതം ලංකා คอม ไทย ລາວ გე みんな アマゾン クラウド グーグル コム ストア セール ファッション ポイント 世界 中信 中国 中國 中文网 亚马逊 企业 佛山 信息 健康 八卦 公司 公益 台湾 台灣 商城 商店 商标 嘉里 嘉里大酒店 在线 大拿 天主教 娱乐 家電 广东 微博 慈善 我爱你 手机 招聘 政务 政府 新加坡 新闻 时尚 書籍 机构 淡马锡 游戏 澳門 点看 移动 组织机构 网址 网店 网站 网络 联通 诺基亚 谷歌 购物 通販 集团 電訊盈科 飞利浦 食品 餐厅 香格里拉 香港 닷넷 닷컴 삼성 한국".split(" "),i=function(e,t){for(var n in t)e[n]=t[n];return e},a="numeric",u="ascii",s="alpha",l="asciinumeric",c="alphanumeric",f="domain",d="emoji",p="scheme",v="slashscheme",h="whitespace";function m(e,t){return e in t||(t[e]=[]),t[e]}function g(e,t,n){for(var r in t[a]&&(t[l]=!0,t[c]=!0),t[u]&&(t[l]=!0,t[s]=!0),t[l]&&(t[c]=!0),t[s]&&(t[c]=!0),t[c]&&(t[f]=!0),t[d]&&(t[f]=!0),t){var o=m(r,n);o.indexOf(e)<0&&o.push(e)}}function y(e){void 0===e&&(e=null),this.j={},this.jr=[],this.jd=null,this.t=e}y.groups={},y.prototype={accepts:function(){return!!this.t},go:function(e){var t=this,n=t.j[e];if(n)return n;for(var r=0;r=0&&(n[r]=!0);return n}(a.t,r),n);g(u,l,r)}else n&&g(u,n,r);a.t=u}return o.j[e]=a,a}};var b=function(e,t,n,r,o){return e.ta(t,n,r,o)},w=function(e,t,n,r,o){return e.tr(t,n,r,o)},D=function(e,t,n,r,o){return e.ts(t,n,r,o)},O=function(e,t,n,r,o){return e.tt(t,n,r,o)},E="WORD",C="UWORD",S="LOCALHOST",A="TLD",F="UTLD",P="SCHEME",x="SLASH_SCHEME",j="NUM",k="WS",T="NL",R="OPENBRACE",B="OPENBRACKET",_="OPENANGLEBRACKET",N="OPENPAREN",L="CLOSEBRACE",$="CLOSEBRACKET",I="CLOSEANGLEBRACKET",M="CLOSEPAREN",V="AMPERSAND",U="APOSTROPHE",z="ASTERISK",H="AT",W="BACKSLASH",q="BACKTICK",G="CARET",K="COLON",Y="COMMA",J="DOLLAR",X="DOT",Q="EQUALS",Z="EXCLAMATION",ee="HYPHEN",te="PERCENT",ne="PIPE",re="PLUS",oe="POUND",ie="QUERY",ae="QUOTE",ue="SEMI",se="SLASH",le="TILDE",ce="UNDERSCORE",fe="EMOJI",de="SYM",pe=Object.freeze({__proto__:null,WORD:E,UWORD:C,LOCALHOST:S,TLD:A,UTLD:F,SCHEME:P,SLASH_SCHEME:x,NUM:j,WS:k,NL:T,OPENBRACE:R,OPENBRACKET:B,OPENANGLEBRACKET:_,OPENPAREN:N,CLOSEBRACE:L,CLOSEBRACKET:$,CLOSEANGLEBRACKET:I,CLOSEPAREN:M,AMPERSAND:V,APOSTROPHE:U,ASTERISK:z,AT:H,BACKSLASH:W,BACKTICK:q,CARET:G,COLON:K,COMMA:Y,DOLLAR:J,DOT:X,EQUALS:Q,EXCLAMATION:Z,HYPHEN:ee,PERCENT:te,PIPE:ne,PLUS:re,POUND:oe,QUERY:ie,QUOTE:ae,SEMI:ue,SLASH:se,TILDE:le,UNDERSCORE:ce,EMOJI:fe,SYM:de}),ve=/[a-z]/,he=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/,me=/(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEDD-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDDFF\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6])/,ge=/\d/,ye=/\s/,be="\n",we="️",De="‍";function Oe(e,t,n,r,o){for(var i,a=t.length,u=0;un?r.substring(0,n)+"…":r},toFormattedHref:function(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex:function(){return this.tk[0].s},endIndex:function(){return this.tk[this.tk.length-1].e},toObject:function(e){return void 0===e&&(e=Ce.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject:function(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate:function(e){return e.get("validate",this.toString(),this)},render:function(e){var t=this,n=this.toFormattedHref(e),r=e.get("tagName",n,t),o=this.toFormattedString(e),a={},u=e.get("className",n,t),s=e.get("target",n,t),l=e.get("rel",n,t),c=e.getObj("attributes",n,t),f=e.getObj("events",n,t);return a.href=n,u&&(a.class=u),s&&(a.target=s),l&&(a.rel=l),c&&i(a,c),{tagName:r,attributes:a,content:o,eventListeners:f}}};var xe=Pe("email",{isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),je=Pe("text"),ke=Pe("nl"),Te=Pe("url",{isLink:!0,toHref:function(e){return void 0===e&&(e=Ce.defaultProtocol),this.hasProtocol()?this.v:e+"://"+this.v},hasProtocol:function(){var e=this.tk;return e.length>=2&&e[0].t!==S&&e[1].t===K}}),Re=function(e){return new y(e)};function Be(e,t,n){var r=n[0].s,o=n[n.length-1].e;return new e(t.slice(r,o),n)}"undefined"!=typeof console&&console&&console.warn;var _e={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Ne(e){return _e.initialized||function(){_e.scanner=function(e){var t,n,c,m,b,Ee;void 0===e&&(e=[]);var Ce={};y.groups=Ce;var Se=new y;O(Se,"'",U),O(Se,"{",R),O(Se,"[",B),O(Se,"<",_),O(Se,"(",N),O(Se,"}",L),O(Se,"]",$),O(Se,">",I),O(Se,")",M),O(Se,"&",V),O(Se,"*",z),O(Se,"@",H),O(Se,"`",q),O(Se,"^",G),O(Se,":",K),O(Se,",",Y),O(Se,"$",J),O(Se,".",X),O(Se,"=",Q),O(Se,"!",Z),O(Se,"-",ee),O(Se,"%",te),O(Se,"|",ne),O(Se,"+",re),O(Se,"#",oe),O(Se,"?",ie),O(Se,'"',ae),O(Se,"/",se),O(Se,";",ue),O(Se,"~",le),O(Se,"_",ce),O(Se,"\\",W);var Ae=w(Se,ge,j,((t={})[a]=!0,t));w(Ae,ge,Ae);var Fe=w(Se,ve,E,((n={})[u]=!0,n));w(Fe,ve,Fe);var Pe=w(Se,he,C,((c={})[s]=!0,c));w(Pe,ve),w(Pe,he,Pe);var xe=w(Se,ye,k,((m={})[h]=!0,m));O(Se,be,T,((b={})[h]=!0,b)),O(xe,be),w(xe,ye,xe);var je=w(Se,me,fe,((Ee={})[d]=!0,Ee));w(je,me,je),O(je,we,je);var ke=O(je,De);w(ke,me,je);for(var Te=[[ve,Fe]],Re=[[ve,null],[he,Pe]],Be=0;Bet[0]?1:-1}));for(var Ne=0;Ne=0?Me[f]=!0:ve.test(Ie)?ge.test(Ie)?Me[l]=!0:Me[u]=!0:Me[a]=!0,D(Se,Ie,Ie,Me)}return D(Se,"localhost",S,{ascii:!0}),Se.jd=new y(de),{start:Se,tokens:i({groups:Ce},pe)}}(_e.customSchemes);for(var e=0;e<_e.tokenQueue.length;e++)_e.tokenQueue[e][1]({scanner:_e.scanner});_e.parser=function(e){var t=e.groups,n=t.domain.concat([V,z,H,W,q,G,J,Q,ee,j,te,ne,re,oe,se,de,le,ce]),r=[U,I,L,$,M,K,Y,X,Z,_,R,B,N,ie,ae,ue],o=[V,U,z,W,q,G,L,J,Q,ee,j,R,te,ne,re,oe,ie,se,de,le,ce],i=Re(),a=O(i,le);b(a,o,a),b(a,t.domain,a);var u=Re(),s=Re(),l=Re();b(i,t.domain,u),b(i,t.scheme,s),b(i,t.slashscheme,l),b(u,o,a),b(u,t.domain,u);var c=O(u,H);O(a,H,c);var f=O(a,X);b(f,o,a),b(f,t.domain,a);var d=Re();b(c,t.domain,d),b(d,t.domain,d);var p=O(d,X);b(p,t.domain,d);var v=Re(xe);b(p,t.tld,v),b(p,t.utld,v),O(c,S,v);var h=O(d,ee);b(h,t.domain,d),b(v,t.domain,d),O(v,X,p),O(v,ee,h);var m=O(v,K);b(m,t.numeric,xe);var g=O(u,ee),y=O(u,X);b(g,t.domain,u),b(y,o,a),b(y,t.domain,u);var w=Re(Te);b(y,t.tld,w),b(y,t.utld,w),b(w,t.domain,u),b(w,o,a),O(w,X,y),O(w,ee,g),O(w,H,c);var D=O(w,K),E=Re(Te);b(D,t.numeric,E);var C=Re(Te),A=Re();b(C,n,C),b(C,r,A),b(A,n,C),b(A,r,A),O(w,se,C),O(E,se,C);var F=O(s,K),P=O(l,K),x=O(P,se);O(x,se,F),b(s,t.domain,u),O(s,X,y),O(s,ee,g),b(l,t.domain,u),O(l,X,y),O(l,ee,g),b(F,t.domain,C),O(F,se,C);var k=O(C,R),fe=O(C,B),ve=O(C,_),he=O(C,N);O(A,R,k),O(A,B,fe),O(A,_,ve),O(A,N,he),O(k,L,C),O(fe,$,C),O(ve,I,C),O(he,M,C),O(k,L,C);var me=Re(Te),ge=Re(Te),ye=Re(Te),be=Re(Te);b(k,n,me),b(fe,n,ge),b(ve,n,ye),b(he,n,be);var we=Re(),De=Re(),Oe=Re(),Ee=Re();return b(k,r),b(fe,r),b(ve,r),b(he,r),b(me,n,me),b(ge,n,ge),b(ye,n,ye),b(be,n,be),b(me,r,me),b(ge,r,ge),b(ye,r,ye),b(be,r,be),b(we,n,we),b(De,n,ge),b(Oe,n,ye),b(Ee,n,be),b(we,r,we),b(De,r,De),b(Oe,r,Oe),b(Ee,r,Ee),O(ge,$,C),O(ye,I,C),O(be,M,C),O(me,L,C),O(De,$,C),O(Oe,I,C),O(Ee,M,C),O(we,M,C),O(i,S,w),O(i,T,ke),{start:i,tokens:pe}}(_e.scanner.tokens);for(var t=0;t<_e.pluginQueue.length;t++)_e.pluginQueue[t][1]({scanner:_e.scanner,parser:_e.parser});_e.initialized=!0}(),function(e,t,n){for(var r=n.length,o=0,i=[],a=[];o=0&&d++,o++,c++;if(d<0)(o-=c)0&&(i.push(Be(je,t,a)),a=[]),o-=d,c-=d;var p=f.t,v=n.slice(o-c,o);i.push(Be(p,t,v))}}return a.length>0&&i.push(Be(je,t,a)),i}(_e.parser.start,e,function(e,t){for(var n=function(e){for(var t=[],n=e.length,r=0;r56319||r+1===n||(i=e.charCodeAt(r+1))<56320||i>57343?e[r]:e.slice(r,r+2);t.push(a),r+=a.length}return t}(t.replace(/[A-Z]/g,(function(e){return e.toLowerCase()}))),r=n.length,o=[],i=0,a=0;a=0&&(f+=n[a].length,d++),l+=n[a].length,i+=n[a].length,a++;i-=f,a-=d,l-=f,o.push({t:c.t,v:t.slice(i-l,i),s:i-l,e:i})}return o}(_e.scanner.start,e))}function Le(e){return e.replace(/&/g,"&").replace(//g,">")}function $e(e){var t=e.tagName,n=e.attributes,r=e.content;return"<"+t+" "+function(e){var t=[];for(var n in e){var r=e[n]+"";t.push(n+'="'+r.replace(/"/g,""")+'"')}return t.join(" ")}(n)+">"+Le(r)+""}function Ie(e,t){void 0===t&&(t={}),t=new Se(t,$e);for(var n=Ne(e),r=[],o=0;o\n"):i.isLink&&t.check(i)?r.push(t.render(i)):r.push(Le(i.toString()))}return r.join("")}String.prototype.linkify||Object.defineProperty(String.prototype,"linkify",{writable:!1,value:function(e){return Ie(this,e)}})},2568:(e,t,n)=>{var r,o,i,a,u;r=n(71012),o=n(40487).utf8,i=n(48738),a=n(40487).bin,(u=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):o.stringToBytes(e):i(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),s=8*e.length,l=1732584193,c=-271733879,f=-1732584194,d=271733878,p=0;p>>24)|4278255360&(n[p]<<24|n[p]>>>8);n[s>>>5]|=128<>>9<<4)]=s;var v=u._ff,h=u._gg,m=u._hh,g=u._ii;for(p=0;p>>0,c=c+b>>>0,f=f+w>>>0,d=d+D>>>0}return r.endian([l,c,f,d])})._ff=function(e,t,n,r,o,i,a){var u=e+(t&n|~t&r)+(o>>>0)+a;return(u<>>32-i)+t},u._gg=function(e,t,n,r,o,i,a){var u=e+(t&r|n&~r)+(o>>>0)+a;return(u<>>32-i)+t},u._hh=function(e,t,n,r,o,i,a){var u=e+(t^n^r)+(o>>>0)+a;return(u<>>32-i)+t},u._ii=function(e,t,n,r,o,i,a){var u=e+(n^(t|~r))+(o>>>0)+a;return(u<>>32-i)+t},u._blocksize=16,u._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=r.wordsToBytes(u(e,t));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):r.bytesToHex(n)}},43726:function(e,t,n){"use strict";var r;!function(o){if("function"!=typeof i){var i=function(e){return e};i.nonNative=!0}const a=i("plaintext"),u=i("html"),s=i("comment"),l=/<(\w*)>/g,c=/<\/?([^\s\/>]+)/;function f(e,t,n){return p(e=e||"",d(t=t||[],n=n||""))}function d(e,t){return{allowable_tags:e=function(e){let t=new Set;if("string"==typeof e){let n;for(;n=l.exec(e);)t.add(n[1])}else i.nonNative||"function"!=typeof e[i.iterator]?"function"==typeof e.forEach&&e.forEach(t.add,t):t=new Set(e);return t}(e),tag_replacement:t,state:a,tag_buffer:"",depth:0,in_quote_char:""}}function p(e,t){if("string"!=typeof e)throw new TypeError("'html' parameter must be a string");let n=t.allowable_tags,r=t.tag_replacement,o=t.state,i=t.tag_buffer,l=t.depth,c=t.in_quote_char,f="";for(let t=0,d=e.length;t":if(c)break;if(l){l--;break}c="",o=a,i+=">",n.has(v(i))?f+=i:f+=r,i="";break;case'"':case"'":c=d===c?"":c||d,i+=d;break;case"-":""===d?("--"==i.slice(-2)&&(o=a),i=""):i+=d)}return t.state=o,t.tag_buffer=i,t.depth=l,t.in_quote_char=c,f}function v(e){let t=c.exec(e);return t?t[1].toLowerCase():null}f.init_streaming_mode=function(e,t){let n=d(e=e||[],t=t||"");return function(e){return p(e||"",n)}},void 0===(r=function(){return f}.call(t,n,t,e))||(e.exports=r)}()},4072:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});const r={name:"DotsHorizontalIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},o=(0,n(51900).Z)(r,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports},21624:(e,t,n)=>{"use strict";var r=n(83202),o=n(22200),i=n(79753),a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]{"use strict";var r=n(23085).Buffer;function o(e,t){return function(){return e.apply(t,arguments)}}const{toString:i}=Object.prototype,{getPrototypeOf:a}=Object,u=(s=Object.create(null),e=>{const t=i.call(e);return s[t]||(s[t]=t.slice(8,-1).toLowerCase())});var s;const l=e=>(e=e.toLowerCase(),t=>u(t)===e),c=e=>t=>typeof t===e,{isArray:f}=Array,d=c("undefined"),p=l("ArrayBuffer"),v=c("string"),h=c("function"),m=c("number"),g=e=>null!==e&&"object"==typeof e,y=e=>{if("object"!==u(e))return!1;const t=a(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},b=l("Date"),w=l("File"),D=l("Blob"),O=l("FileList"),E=l("URLSearchParams");function C(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),f(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:n.g,F=e=>!d(e)&&e!==A,P=(x="undefined"!=typeof Uint8Array&&a(Uint8Array),e=>x&&e instanceof x);var x;const j=l("HTMLFormElement"),k=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),T=l("RegExp"),R=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};C(n,((n,o)=>{!1!==t(n,o,e)&&(r[o]=n)})),Object.defineProperties(e,r)},B="abcdefghijklmnopqrstuvwxyz",_="0123456789",N={DIGIT:_,ALPHA:B,ALPHA_DIGIT:B+B.toUpperCase()+_},L=l("AsyncFunction");var $={isArray:f,isArrayBuffer:p,isBuffer:function(e){return null!==e&&!d(e)&&null!==e.constructor&&!d(e.constructor)&&h(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||h(e.append)&&("formdata"===(t=u(e))||"object"===t&&h(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t},isString:v,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:g,isPlainObject:y,isUndefined:d,isDate:b,isFile:w,isBlob:D,isRegExp:T,isFunction:h,isStream:e=>g(e)&&h(e.pipe),isURLSearchParams:E,isTypedArray:P,isFileList:O,forEach:C,merge:function e(){const{caseless:t}=F(this)&&this||{},n={},r=(r,o)=>{const i=t&&S(n,o)||o;y(n[i])&&y(r)?n[i]=e(n[i],r):y(r)?n[i]=e({},r):f(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e(C(t,((t,r)=>{n&&h(t)?e[r]=o(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,u;const s={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)u=o[i],r&&!r(u,e,t)||s[u]||(t[u]=e[u],s[u]=!0);e=!1!==n&&a(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:u,kindOfTest:l,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(f(e))return e;let t=e.length;if(!m(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:j,hasOwnProperty:k,hasOwnProp:k,reduceDescriptors:R,freezeMethods:e=>{R(e,((t,n)=>{if(h(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];h(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return f(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:S,global:A,isContextDefined:F,ALPHABET:N,generateString:(e=16,t=N.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&h(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(g(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=f(e)?[]:{};return C(e,((e,t)=>{const i=n(e,r+1);!d(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:L,isThenable:e=>e&&(g(e)||h(e))&&h(e.then)&&h(e.catch)};function I(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}$.inherits(I,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:$.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const M=I.prototype,V={};function U(e){return $.isPlainObject(e)||$.isArray(e)}function z(e){return $.endsWith(e,"[]")?e.slice(0,-2):e}function H(e,t,n){return e?e.concat(t).map((function(e,t){return e=z(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{V[e]={value:e}})),Object.defineProperties(I,V),Object.defineProperty(M,"isAxiosError",{value:!0}),I.from=(e,t,n,r,o,i)=>{const a=Object.create(M);return $.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),I.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const W=$.toFlatObject($,{},null,(function(e){return/^is[A-Z]/.test(e)}));function q(e,t,n){if(!$.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const o=(n=$.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!$.isUndefined(t[e])}))).metaTokens,i=n.visitor||c,a=n.dots,u=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&$.isSpecCompliantForm(t);if(!$.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if($.isDate(e))return e.toISOString();if(!s&&$.isBlob(e))throw new I("Blob is not supported. Use a Buffer instead.");return $.isArrayBuffer(e)||$.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):r.from(e):e}function c(e,n,r){let i=e;if(e&&!r&&"object"==typeof e)if($.endsWith(n,"{}"))n=o?n:n.slice(0,-2),e=JSON.stringify(e);else if($.isArray(e)&&function(e){return $.isArray(e)&&!e.some(U)}(e)||($.isFileList(e)||$.endsWith(n,"[]"))&&(i=$.toArray(e)))return n=z(n),i.forEach((function(e,r){!$.isUndefined(e)&&null!==e&&t.append(!0===u?H([n],r,a):null===u?n:n+"[]",l(e))})),!1;return!!U(e)||(t.append(H(r,n,a),l(e)),!1)}const f=[],d=Object.assign(W,{defaultVisitor:c,convertValue:l,isVisitable:U});if(!$.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!$.isUndefined(n)){if(-1!==f.indexOf(n))throw Error("Circular reference detected in "+r.join("."));f.push(n),$.forEach(n,(function(n,o){!0===(!($.isUndefined(n)||null===n)&&i.call(t,n,$.isString(o)?o.trim():o,r,d))&&e(n,r?r.concat(o):[o])})),f.pop()}}(e),t}function G(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function K(e,t){this._pairs=[],e&&q(e,this,t)}const Y=K.prototype;function J(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(e,t,n){if(!t)return e;const r=n&&n.encode||J,o=n&&n.serialize;let i;if(i=o?o(t,n):$.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}Y.append=function(e,t){this._pairs.push([e,t])},Y.toString=function(e){const t=e?function(t){return e.call(this,t,G)}:G;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Q=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){$.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ee={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:K,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};function te(e){function t(e,n,r,o){let i=e[o++];const a=Number.isFinite(+i),u=o>=e.length;return i=!i&&$.isArray(r)?r.length:i,u?($.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&$.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&$.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r{t(function(e){return $.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null}const ne={"Content-Type":void 0},re={transitional:Z,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=$.isObject(e);if(o&&$.isHTMLForm(e)&&(e=new FormData(e)),$.isFormData(e))return r&&r?JSON.stringify(te(e)):e;if($.isArrayBuffer(e)||$.isBuffer(e)||$.isStream(e)||$.isFile(e)||$.isBlob(e))return e;if($.isArrayBufferView(e))return e.buffer;if($.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return q(e,new ee.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ee.isNode&&$.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=$.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return q(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if($.isString(e))try{return(0,JSON.parse)(e),$.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||re.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&$.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw I.from(e,I.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ee.classes.FormData,Blob:ee.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};$.forEach(["delete","get","head"],(function(e){re.headers[e]={}})),$.forEach(["post","put","patch"],(function(e){re.headers[e]=$.merge(ne)}));var oe=re;const ie=$.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ae=Symbol("internals");function ue(e){return e&&String(e).trim().toLowerCase()}function se(e){return!1===e||null==e?e:$.isArray(e)?e.map(se):String(e)}function le(e,t,n,r,o){return $.isFunction(r)?r.call(this,t,n):(o&&(t=n),$.isString(t)?$.isString(r)?-1!==t.indexOf(r):$.isRegExp(r)?r.test(t):void 0:void 0)}class ce{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=ue(t);if(!o)throw new Error("header name must be a non-empty string");const i=$.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=se(e))}const i=(e,t)=>$.forEach(e,((e,n)=>o(e,n,t)));return $.isPlainObject(e)||e instanceof this.constructor?i(e,t):$.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?i((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&ie[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t):null!=e&&o(t,e,n),this}get(e,t){if(e=ue(e)){const n=$.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if($.isFunction(t))return t.call(this,e,n);if($.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ue(e)){const n=$.findKey(this,e);return!(!n||void 0===this[n]||t&&!le(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=ue(e)){const o=$.findKey(n,e);!o||t&&!le(0,n[o],o,t)||(delete n[o],r=!0)}}return $.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!le(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return $.forEach(this,((r,o)=>{const i=$.findKey(n,o);if(i)return t[i]=se(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete t[o],t[a]=se(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return $.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&$.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[ae]=this[ae]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=ue(e);t[r]||(function(e,t){const n=$.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return $.isArray(e)?e.forEach(r):r(e),this}}ce.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),$.freezeMethods(ce.prototype),$.freezeMethods(ce);var fe=ce;function de(e,t){const n=this||oe,r=t||n,o=fe.from(r.headers);let i=r.data;return $.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function pe(e){return!(!e||!e.__CANCEL__)}function ve(e,t,n){I.call(this,null==e?"canceled":e,I.ERR_CANCELED,t,n),this.name="CanceledError"}$.inherits(ve,I,{__CANCEL__:!0});var he=ee.isStandardBrowserEnv?{write:function(e,t,n,r,o,i){const a=[];a.push(e+"="+encodeURIComponent(t)),$.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),$.isString(r)&&a.push("path="+r),$.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function me(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var ge=ee.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=$.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function ye(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,a=0;return t=void 0!==t?t:1e3,function(u){const s=Date.now(),l=r[a];o||(o=s),n[i]=u,r[i]=s;let c=a,f=0;for(;c!==i;)f+=n[c++],c%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),s-o{const i=o.loaded,a=o.lengthComputable?o.total:void 0,u=i-n,s=r(u);n=i;const l={loaded:i,total:a,progress:a?i/a:void 0,bytes:u,rate:s||void 0,estimated:s&&a&&i<=a?(a-i)/s:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}const be={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const o=fe.from(e.headers).normalize(),i=e.responseType;let a;function u(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}$.isFormData(r)&&(ee.isStandardBrowserEnv||ee.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.setContentType("multipart/form-data;",!1));let s=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+n))}const l=me(e.baseURL,e.url);function c(){if(!s)return;const r=fe.from("getAllResponseHeaders"in s&&s.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new I("Request failed with status code "+n.status,[I.ERR_BAD_REQUEST,I.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),u()}),(function(e){n(e),u()}),{data:i&&"text"!==i&&"json"!==i?s.response:s.responseText,status:s.status,statusText:s.statusText,headers:r,config:e,request:s}),s=null}if(s.open(e.method.toUpperCase(),X(l,e.params,e.paramsSerializer),!0),s.timeout=e.timeout,"onloadend"in s?s.onloadend=c:s.onreadystatechange=function(){s&&4===s.readyState&&(0!==s.status||s.responseURL&&0===s.responseURL.indexOf("file:"))&&setTimeout(c)},s.onabort=function(){s&&(n(new I("Request aborted",I.ECONNABORTED,e,s)),s=null)},s.onerror=function(){n(new I("Network Error",I.ERR_NETWORK,e,s)),s=null},s.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||Z;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new I(t,r.clarifyTimeoutError?I.ETIMEDOUT:I.ECONNABORTED,e,s)),s=null},ee.isStandardBrowserEnv){const t=(e.withCredentials||ge(l))&&e.xsrfCookieName&&he.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),"setRequestHeader"in s&&$.forEach(o.toJSON(),(function(e,t){s.setRequestHeader(t,e)})),$.isUndefined(e.withCredentials)||(s.withCredentials=!!e.withCredentials),i&&"json"!==i&&(s.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&s.addEventListener("progress",ye(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&s.upload&&s.upload.addEventListener("progress",ye(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{s&&(n(!t||t.type?new ve(null,e,s):t),s.abort(),s=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const f=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(l);f&&-1===ee.protocols.indexOf(f)?n(new I("Unsupported protocol "+f+":",I.ERR_BAD_REQUEST,e)):s.send(r||null)}))}};$.forEach(be,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));function we(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ve(null,e)}function De(e){return we(e),e.headers=fe.from(e.headers),e.data=de.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),(e=>{e=$.isArray(e)?e:[e];const{length:t}=e;let n,r;for(let o=0;oe instanceof fe?e.toJSON():e;function Ee(e,t){t=t||{};const n={};function r(e,t,n){return $.isPlainObject(e)&&$.isPlainObject(t)?$.merge.call({caseless:n},e,t):$.isPlainObject(t)?$.merge({},t):$.isArray(t)?t.slice():t}function o(e,t,n){return $.isUndefined(t)?$.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!$.isUndefined(t))return r(void 0,t)}function a(e,t){return $.isUndefined(t)?$.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function u(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const s={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:u,headers:(e,t)=>o(Oe(e),Oe(t),!0)};return $.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=s[r]||o,a=i(e[r],t[r],r);$.isUndefined(a)&&i!==u||(n[r]=a)})),n}const Ce={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Ce[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Se={};Ce.transitional=function(e,t,n){function r(e,t){return"[Axios v1.4.0] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new I(r(o," has been removed"+(t?" in "+t:"")),I.ERR_DEPRECATED);return t&&!Se[o]&&(Se[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};var Ae={assertOptions:function(e,t,n){if("object"!=typeof e)throw new I("options must be an object",I.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const t=e[i],n=void 0===t||a(t,i,e);if(!0!==n)throw new I("option "+i+" must be "+n,I.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new I("Unknown option "+i,I.ERR_BAD_OPTION)}},validators:Ce};const Fe=Ae.validators;class Pe{constructor(e){this.defaults=e,this.interceptors={request:new Q,response:new Q}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ee(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;let i;void 0!==n&&Ae.assertOptions(n,{silentJSONParsing:Fe.transitional(Fe.boolean),forcedJSONParsing:Fe.transitional(Fe.boolean),clarifyTimeoutError:Fe.transitional(Fe.boolean)},!1),null!=r&&($.isFunction(r)?t.paramsSerializer={serialize:r}:Ae.assertOptions(r,{encode:Fe.function,serialize:Fe.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase(),i=o&&$.merge(o.common,o[t.method]),i&&$.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=fe.concat(i,o);const a=[];let u=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(u=u&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const s=[];let l;this.interceptors.response.forEach((function(e){s.push(e.fulfilled,e.rejected)}));let c,f=0;if(!u){const e=[De.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,s),c=e.length,l=Promise.resolve(t);f{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new ve(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new je((function(t){e=t})),cancel:e}}}var ke=je;const Te={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Te).forEach((([e,t])=>{Te[t]=e}));var Re=Te;const Be=function e(t){const n=new xe(t),r=o(xe.prototype.request,n);return $.extend(r,xe.prototype,n,{allOwnKeys:!0}),$.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Ee(t,n))},r}(oe);Be.Axios=xe,Be.CanceledError=ve,Be.CancelToken=ke,Be.isCancel=pe,Be.VERSION="1.4.0",Be.toFormData=q,Be.AxiosError=I,Be.Cancel=Be.CanceledError,Be.all=function(e){return Promise.all(e)},Be.spread=function(e){return function(t){return e.apply(null,t)}},Be.isAxiosError=function(e){return $.isObject(e)&&!0===e.isAxiosError},Be.mergeConfig=Ee,Be.AxiosHeaders=fe,Be.formToJSON=e=>te($.isHTMLForm(e)?new FormData(e):e),Be.HttpStatusCode=Re,Be.default=Be,e.exports=Be},99495:(e,t,n)=>{"use strict";var r=n(98339),o=n(59797),i=n(16227);const a=r.defineComponent({name:"OnClickOutside",props:["as","options"],emits:["trigger"],setup(e,{slots:t,emit:n}){const i=r.ref();return o.onClickOutside(i,(e=>{n("trigger",e)}),e.options),()=>{if(t.default)return r.h(e.as||"div",{ref:i},t.default())}}});function u(e){var t;const n=i.toValue(e);return null!=(t=null==n?void 0:n.$el)?t:n}const s=i.isClient?window:void 0;function l(...e){let t,n,o,a;if("string"==typeof e[0]||Array.isArray(e[0])?([n,o,a]=e,t=s):[t,n,o,a]=e,!t)return i.noop;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const l=[],c=()=>{l.forEach((e=>e())),l.length=0},f=r.watch((()=>[u(t),i.toValue(a)]),(([e,t])=>{c(),e&&l.push(...n.flatMap((n=>o.map((r=>((e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)))(e,n,r,t))))))}),{immediate:!0,flush:"post"}),d=()=>{f(),c()};return i.tryOnScopeDispose(d),d}let c=!1;function f(e,t,n={}){const{window:r=s,ignore:o=[],capture:a=!0,detectIframe:f=!1}=n;if(!r)return;i.isIOS&&!c&&(c=!0,Array.from(r.document.body.children).forEach((e=>e.addEventListener("click",i.noop))));let d=!0;const p=e=>o.some((t=>{if("string"==typeof t)return Array.from(r.document.querySelectorAll(t)).some((t=>t===e.target||e.composedPath().includes(t)));{const n=u(t);return n&&(e.target===n||e.composedPath().includes(n))}})),v=[l(r,"click",(n=>{const r=u(e);r&&r!==n.target&&!n.composedPath().includes(r)&&(0===n.detail&&(d=!p(n)),d?t(n):d=!0)}),{passive:!0,capture:a}),l(r,"pointerdown",(t=>{const n=u(e);n&&(d=!t.composedPath().includes(n)&&!p(t))}),{passive:!0}),f&&l(r,"blur",(n=>{var o;const i=u(e);"IFRAME"!==(null==(o=r.document.activeElement)?void 0:o.tagName)||(null==i?void 0:i.contains(r.document.activeElement))||t(n)}))].filter(Boolean);return()=>v.forEach((e=>e()))}const d={[i.directiveHooks.mounted](e,t){const n=!t.modifiers.bubble;if("function"==typeof t.value)e.__onClickOutside_stop=f(e,t.value,{capture:n});else{const[r,o]=t.value;e.__onClickOutside_stop=f(e,r,Object.assign({capture:n},o))}},[i.directiveHooks.unmounted](e){e.__onClickOutside_stop()}};function p(...e){let t,n,r={};3===e.length?(t=e[0],n=e[1],r=e[2]):2===e.length?"object"==typeof e[1]?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:o=s,eventName:a="keydown",passive:u=!1,dedupe:c=!1}=r,f="function"==typeof(d=t)?d:"string"==typeof d?e=>e.key===d:Array.isArray(d)?e=>d.includes(e.key):()=>!0;var d;return l(o,a,(e=>{e.repeat&&i.toValue(c)||f(e)&&n(e)}),u)}var v=Object.defineProperty,h=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,y=(e,t,n)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const b={[i.directiveHooks.mounted](e,t){var n,r;const o=null==(r=null==(n=t.arg)?void 0:n.split(","))||r;if("function"==typeof t.value)p(o,t.value,{target:e});else{const[n,r]=t.value;p(o,n,((e,t)=>{for(var n in t||(t={}))m.call(t,n)&&y(e,n,t[n]);if(h)for(var n of h(t))g.call(t,n)&&y(e,n,t[n]);return e})({target:e},r))}}};function w(e,t,n){var o,i;const a=r.computed((()=>u(e)));let s;function c(){s&&(clearTimeout(s),s=void 0)}const f={capture:null==(o=null==n?void 0:n.modifiers)?void 0:o.capture,once:null==(i=null==n?void 0:n.modifiers)?void 0:i.once};l(a,"pointerdown",(function(e){var r,o,i,u;(null==(r=null==n?void 0:n.modifiers)?void 0:r.self)&&e.target!==a.value||(c(),(null==(o=null==n?void 0:n.modifiers)?void 0:o.prevent)&&e.preventDefault(),(null==(i=null==n?void 0:n.modifiers)?void 0:i.stop)&&e.stopPropagation(),s=setTimeout((()=>t(e)),null!=(u=null==n?void 0:n.delay)?u:500))}),f),l(a,"pointerup",c,f),l(a,"pointerleave",c,f)}const D=r.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(e,{slots:t,emit:n}){const o=r.ref();return w(o,(e=>{n("trigger",e)}),e.options),()=>{if(t.default)return r.h(e.as||"div",{ref:o},t.default())}}}),O={[i.directiveHooks.mounted](e,t){"function"==typeof t.value?w(e,t.value,{modifiers:t.modifiers}):w(e,...t.value)}},E=r.defineComponent({name:"UseActiveElement",setup(e,{slots:t}){const n=r.reactive({element:o.useActiveElement()});return()=>{if(t.default)return t.default(n)}}}),C=r.defineComponent({name:"UseBattery",setup(e,{slots:t}){const n=r.reactive(o.useBattery(e));return()=>{if(t.default)return t.default(n)}}}),S=r.defineComponent({name:"UseBrowserLocation",setup(e,{slots:t}){const n=r.reactive(o.useBrowserLocation());return()=>{if(t.default)return t.default(n)}}}),A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{},F="__vueuse_ssr_handlers__",P=x();function x(){return F in A||(A[F]=A[F]||{}),A[F]}function j(e,t){return P[e]||t}var k=Object.defineProperty,T=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,_=(e,t,n)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,N=(e,t)=>{for(var n in t||(t={}))R.call(t,n)&&_(e,n,t[n]);if(T)for(var n of T(t))B.call(t,n)&&_(e,n,t[n]);return e};const L={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},$="vueuse-storage";function I(e){const t=function(){const e=r.ref(!1);return r.getCurrentInstance()&&r.onMounted((()=>{e.value=!0})),e}();return r.computed((()=>(t.value,Boolean(e()))))}var M=Object.defineProperty,V=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,H=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function W(e={}){const{selector:t="html",attribute:n="class",initialValue:o="auto",window:a=s,storage:c,storageKey:f="vueuse-color-scheme",listenToStorageChanges:d=!0,storageRef:p,emitAuto:v,disableTransition:h=!0}=e,m=((e,t)=>{for(var n in t||(t={}))U.call(t,n)&&H(e,n,t[n]);if(V)for(var n of V(t))z.call(t,n)&&H(e,n,t[n]);return e})({auto:"",light:"light",dark:"dark"},e.modes||{}),g=function(e){return function(e,t={}){const{window:n=s}=t,o=I((()=>n&&"matchMedia"in n&&"function"==typeof n.matchMedia));let a;const u=r.ref(!1),l=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",c):a.removeListener(c))},c=()=>{o.value&&(l(),a=n.matchMedia(i.toRef(e).value),u.value=!!(null==a?void 0:a.matches),a&&("addEventListener"in a?a.addEventListener("change",c):a.addListener(c)))};return r.watchEffect(c),i.tryOnScopeDispose((()=>l())),u}("(prefers-color-scheme: dark)",e)}({window:a}),y=r.computed((()=>g.value?"dark":"light")),b=p||(null==f?i.toRef(o):function(e,t,n,o={}){var a;const{flush:u="pre",deep:c=!0,listenToStorageChanges:f=!0,writeDefaults:d=!0,mergeDefaults:p=!1,shallow:v,window:h=s,eventFilter:m,onError:g=(e=>{console.error(e)})}=o,y=(v?r.shallowRef:r.ref)(t);if(!n)try{n=j("getDefaultStorage",(()=>{var e;return null==(e=s)?void 0:e.localStorage}))()}catch(e){g(e)}if(!n)return y;const b=i.toValue(t),w=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e?"object":Number.isNaN(e)?"any":"number"}(b),D=null!=(a=o.serializer)?a:L[w],{pause:O,resume:E}=i.pausableWatch(y,(()=>function(t){try{if(null==t)n.removeItem(e);else{const r=D.write(t),o=n.getItem(e);o!==r&&(n.setItem(e,r),h&&h.dispatchEvent(new CustomEvent($,{detail:{key:e,oldValue:o,newValue:r,storageArea:n}})))}}catch(e){g(e)}}(y.value)),{flush:u,deep:c,eventFilter:m});return h&&f&&(l(h,"storage",C),l(h,$,(function(e){C(e.detail)}))),C(),y;function C(t){if(!t||t.storageArea===n)if(t&&null==t.key)y.value=b;else if(!t||t.key===e){O();try{y.value=function(t){const r=t?t.newValue:n.getItem(e);if(null==r)return d&&null!==b&&n.setItem(e,D.write(b)),b;if(!t&&p){const e=D.read(r);return"function"==typeof p?p(e,b):"object"!==w||Array.isArray(e)?e:N(N({},b),e)}return"string"!=typeof r?r:D.read(r)}(t)}catch(e){g(e)}finally{t?r.nextTick(E):E()}}}}(f,o,c,{window:a,listenToStorageChanges:d})),w=r.computed((()=>"auto"===b.value?y.value:b.value)),D=j("updateHTMLAttrs",((e,t,n)=>{const r="string"==typeof e?null==a?void 0:a.document.querySelector(e):u(e);if(!r)return;let o;if(h&&(o=a.document.createElement("style"),o.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),a.document.head.appendChild(o)),"class"===t){const e=n.split(/\s/g);Object.values(m).flatMap((e=>(e||"").split(/\s/g))).filter(Boolean).forEach((t=>{e.includes(t)?r.classList.add(t):r.classList.remove(t)}))}else r.setAttribute(t,n);h&&(a.getComputedStyle(o).opacity,document.head.removeChild(o))}));function O(e){var r;D(t,n,null!=(r=m[e])?r:e)}function E(t){e.onChanged?e.onChanged(t,O):O(t)}r.watch(w,E,{flush:"post",immediate:!0}),i.tryOnMounted((()=>E(w.value)));const C=r.computed({get:()=>v?b.value:w.value,set(e){b.value=e}});try{return Object.assign(C,{store:b,system:y,state:w})}catch(e){return C}}const q=r.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(e,{slots:t}){const n=W(e),o=r.reactive({mode:n,system:n.system,store:n.store});return()=>{if(t.default)return t.default(o)}}}),G=r.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(e,{slots:t}){const n=o.useDark(e),a=r.reactive({isDark:n,toggleDark:i.useToggle(n)});return()=>{if(t.default)return t.default(a)}}}),K=r.defineComponent({name:"UseDeviceMotion",setup(e,{slots:t}){const n=r.reactive(o.useDeviceMotion());return()=>{if(t.default)return t.default(n)}}}),Y=r.defineComponent({name:"UseDeviceOrientation",setup(e,{slots:t}){const n=r.reactive(o.useDeviceOrientation());return()=>{if(t.default)return t.default(n)}}}),J=r.defineComponent({name:"UseDevicePixelRatio",setup(e,{slots:t}){const n=r.reactive({pixelRatio:o.useDevicePixelRatio()});return()=>{if(t.default)return t.default(n)}}}),X=r.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(e,{slots:t}){const n=r.reactive(o.useDevicesList(e));return()=>{if(t.default)return t.default(n)}}}),Q=r.defineComponent({name:"UseDocumentVisibility",setup(e,{slots:t}){const n=r.reactive({visibility:o.useDocumentVisibility()});return()=>{if(t.default)return t.default(n)}}});var Z=Object.defineProperty,ee=Object.defineProperties,te=Object.getOwnPropertyDescriptors,ne=Object.getOwnPropertySymbols,re=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable,ie=(e,t,n)=>t in e?Z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const ae=r.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","stopPropagation","pointerTypes","as","handle","axis"],setup(e,{slots:t}){const n=r.ref(),a=r.computed((()=>{var t;return null!=(t=e.handle)?t:n.value})),u=e.storageKey&&o.useStorage(e.storageKey,i.toValue(e.initialValue)||{x:0,y:0},o.isClient?"session"===e.storageType?sessionStorage:localStorage:void 0),s=u||e.initialValue||{x:0,y:0},l=r.reactive(o.useDraggable(n,(c=((e,t)=>{for(var n in t||(t={}))re.call(t,n)&&ie(e,n,t[n]);if(ne)for(var n of ne(t))oe.call(t,n)&&ie(e,n,t[n]);return e})({},e),ee(c,te({handle:a,initialValue:s,onEnd:e=>{u&&(u.value.x=e.x,u.value.y=e.y)}})))));var c;return()=>{if(t.default)return r.h(e.as||"div",{ref:n,style:`touch-action:none;${l.style}`},t.default(l))}}}),ue=r.defineComponent({name:"UseElementBounding",props:["box","as"],setup(e,{slots:t}){const n=r.ref(),i=r.reactive(o.useElementBounding(n));return()=>{if(t.default)return r.h(e.as||"div",{ref:n},t.default(i))}}}),se={[i.directiveHooks.mounted](e,t){if("function"==typeof t.value){const n=function(e,t={}){const{delayEnter:n=0,delayLeave:o=0,window:i=s}=t,a=r.ref(!1);let u;const c=e=>{const t=e?n:o;u&&(clearTimeout(u),u=void 0),t?u=setTimeout((()=>a.value=e),t):a.value=e};return i?(l(e,"mouseenter",(()=>c(!0)),{passive:!0}),l(e,"mouseleave",(()=>c(!1)),{passive:!0}),a):a}(e);r.watch(n,(e=>t.value(e)))}}},le=r.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(e,{slots:t}){const n=r.ref(),i=r.reactive(o.useElementSize(n,{width:e.width,height:e.height},{box:e.box}));return()=>{if(t.default)return r.h(e.as||"div",{ref:n},t.default(i))}}});var ce=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;function pe(e,t={width:0,height:0},n={}){const{window:o=s,box:a="content-box"}=n,l=r.computed((()=>{var t,n;return null==(n=null==(t=u(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")})),c=r.ref(t.width),f=r.ref(t.height);return function(e,t,n={}){const o=n,{window:a=s}=o,l=((e,t)=>{var n={};for(var r in e)fe.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&ce)for(var r of ce(e))t.indexOf(r)<0&&de.call(e,r)&&(n[r]=e[r]);return n})(o,["window"]);let c;const f=I((()=>a&&"ResizeObserver"in a)),d=()=>{c&&(c.disconnect(),c=void 0)},p=r.computed((()=>Array.isArray(e)?e.map((e=>u(e))):[u(e)])),v=r.watch(p,(e=>{if(d(),f.value&&a){c=new ResizeObserver(t);for(const t of e)t&&c.observe(t,l)}}),{immediate:!0,flush:"post",deep:!0});i.tryOnScopeDispose((()=>{d(),v()}))}(e,(([t])=>{const n="border-box"===a?t.borderBoxSize:"content-box"===a?t.contentBoxSize:t.devicePixelContentBoxSize;if(o&&l.value){const t=u(e);if(t){const e=o.getComputedStyle(t);c.value=parseFloat(e.width),f.value=parseFloat(e.height)}}else if(n){const e=Array.isArray(n)?n:[n];c.value=e.reduce(((e,{inlineSize:t})=>e+t),0),f.value=e.reduce(((e,{blockSize:t})=>e+t),0)}else c.value=t.contentRect.width,f.value=t.contentRect.height}),n),r.watch((()=>u(e)),(e=>{c.value=e?t.width:0,f.value=e?t.height:0})),{width:c,height:f}}const ve={[i.directiveHooks.mounted](e,t){var n;const o="function"==typeof t.value?t.value:null==(n=t.value)?void 0:n[0],i="function"==typeof t.value?[]:t.value.slice(1),{width:a,height:u}=pe(e,...i);r.watch([a,u],(([e,t])=>o({width:e,height:t})))}},he=r.defineComponent({name:"UseElementVisibility",props:["as"],setup(e,{slots:t}){const n=r.ref(),i=r.reactive({isVisible:o.useElementVisibility(n)});return()=>{if(t.default)return r.h(e.as||"div",{ref:n},t.default(i))}}});function me(e,t,n={}){const{root:o,rootMargin:a="0px",threshold:l=.1,window:c=s,immediate:f=!0}=n,d=I((()=>c&&"IntersectionObserver"in c)),p=r.computed((()=>{const t=i.toValue(e);return(Array.isArray(t)?t:[t]).map(u).filter(i.notNullish)}));let v=i.noop;const h=r.ref(f),m=d.value?r.watch((()=>[p.value,u(o),h.value]),(([e,n])=>{if(v(),!h.value)return;if(!e.length)return;const r=new IntersectionObserver(t,{root:u(n),rootMargin:a,threshold:l});e.forEach((e=>e&&r.observe(e))),v=()=>{r.disconnect(),v=i.noop}}),{immediate:f,flush:"post"}):i.noop,g=()=>{v(),m(),h.value=!1};return i.tryOnScopeDispose(g),{isSupported:d,isActive:h,pause(){v(),h.value=!1},resume(){h.value=!0},stop:g}}function ge(e,{window:t=s,scrollTarget:n}={}){const o=r.ref(!1);return me(e,(([{isIntersecting:e}])=>{o.value=e}),{root:n,window:t}),o}const ye={[i.directiveHooks.mounted](e,t){if("function"==typeof t.value){const n=t.value,o=ge(e);r.watch(o,(e=>n(e)),{immediate:!0})}else{const[n,o]=t.value,i=ge(e,o);r.watch(i,(e=>n(e)),{immediate:!0})}}},be=r.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(e,{slots:t}){const n=r.reactive(o.useEyeDropper());return()=>{if(t.default)return t.default(n)}}}),we=r.defineComponent({name:"UseFullscreen",props:["as"],setup(e,{slots:t}){const n=r.ref(),i=r.reactive(o.useFullscreen(n));return()=>{if(t.default)return r.h(e.as||"div",{ref:n},t.default(i))}}}),De=r.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(e,{slots:t}){const n=r.reactive(o.useGeolocation(e));return()=>{if(t.default)return t.default(n)}}}),Oe=r.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(e,{slots:t}){const n=r.reactive(o.useIdle(e.timeout,e));return()=>{if(t.default)return t.default(n)}}});var Ee=Object.defineProperty,Ce=Object.defineProperties,Se=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,xe=(e,t,n)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,je=(e,t)=>{for(var n in t||(t={}))Fe.call(t,n)&&xe(e,n,t[n]);if(Ae)for(var n of Ae(t))Pe.call(t,n)&&xe(e,n,t[n]);return e},ke=(e,t)=>Ce(e,Se(t));var Te=Object.defineProperty,Re=Object.getOwnPropertySymbols,Be=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,Ne=(e,t,n)=>t in e?Te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Le(e,t={}){const n=function(e,t,n){const{immediate:o=!0,delay:a=0,onError:u=i.noop,onSuccess:s=i.noop,resetOnExecute:l=!0,shallow:c=!0,throwError:f}=null!=n?n:{},d=c?r.shallowRef(t):r.ref(t),p=r.ref(!1),v=r.ref(!1),h=r.shallowRef(void 0);async function m(n=0,...r){l&&(d.value=t),h.value=void 0,p.value=!1,v.value=!0,n>0&&await i.promiseTimeout(n);const o="function"==typeof e?e(...r):e;try{const e=await o;d.value=e,p.value=!0,s(e)}catch(e){if(h.value=e,u(e),f)throw e}finally{v.value=!1}return d.value}o&&m(a);const g={state:d,isReady:p,isLoading:v,error:h,execute:m};return ke(je({},g),{then:(e,t)=>new Promise(((e,t)=>{i.until(v).toBe(!1).then((()=>e(g))).catch(t)})).then(e,t)})}((()=>async function(e){return new Promise(((t,n)=>{const r=new Image,{src:o,srcset:i,sizes:a,class:u,loading:s,crossorigin:l}=e;r.src=o,i&&(r.srcset=i),a&&(r.sizes=a),u&&(r.className=u),s&&(r.loading=s),l&&(r.crossOrigin=l),r.onload=()=>t(r),r.onerror=n}))}(i.toValue(e))),void 0,((e,t)=>{for(var n in t||(t={}))Be.call(t,n)&&Ne(e,n,t[n]);if(Re)for(var n of Re(t))_e.call(t,n)&&Ne(e,n,t[n]);return e})({resetOnExecute:!0},t));return r.watch((()=>i.toValue(e)),(()=>n.execute(t.delay)),{deep:!0}),n}const $e=r.defineComponent({name:"UseImage",props:["src","srcset","sizes","as","alt","class","loading","crossorigin"],setup(e,{slots:t}){const n=r.reactive(Le(e));return()=>n.isLoading&&t.loading?t.loading(n):n.error&&t.error?t.error(n.error):t.default?t.default(n):r.h(e.as||"img",e)}}),Ie=1;function Me(e,t={}){const{throttle:n=0,idle:o=200,onStop:a=i.noop,onScroll:u=i.noop,offset:s={left:0,right:0,top:0,bottom:0},eventListenerOptions:c={capture:!1,passive:!0},behavior:f="auto"}=t,d=r.ref(0),p=r.ref(0),v=r.computed({get:()=>d.value,set(e){m(e,void 0)}}),h=r.computed({get:()=>p.value,set(e){m(void 0,e)}});function m(t,n){var r,o,a;const u=i.toValue(e);u&&(null==(a=u instanceof Document?document.body:u)||a.scrollTo({top:null!=(r=i.toValue(n))?r:h.value,left:null!=(o=i.toValue(t))?o:v.value,behavior:i.toValue(f)}))}const g=r.ref(!1),y=r.reactive({left:!0,right:!1,top:!0,bottom:!1}),b=r.reactive({left:!1,right:!1,top:!1,bottom:!1}),w=e=>{g.value&&(g.value=!1,b.left=!1,b.right=!1,b.top=!1,b.bottom=!1,a(e))},D=i.useDebounceFn(w,n+o),O=e=>{const t=e===document?e.documentElement:e,{display:n,flexDirection:r}=getComputedStyle(t),o=t.scrollLeft;b.left=od.value;const i=Math.abs(o)<=0+(s.left||0),a=Math.abs(o)+t.clientWidth>=t.scrollWidth-(s.right||0)-Ie;"flex"===n&&"row-reverse"===r?(y.left=a,y.right=i):(y.left=i,y.right=a),d.value=o;let u=t.scrollTop;e!==document||u||(u=document.body.scrollTop),b.top=up.value;const l=Math.abs(u)<=0+(s.top||0),c=Math.abs(u)+t.clientHeight>=t.scrollHeight-(s.bottom||0)-Ie;"flex"===n&&"column-reverse"===r?(y.top=c,y.bottom=l):(y.top=l,y.bottom=c),p.value=u},E=e=>{const t=e.target===document?e.target.documentElement:e.target;O(t),g.value=!0,D(e),u(e)};return l(e,"scroll",n?i.useThrottleFn(E,n,!0,!1):E,c),l(e,"scrollend",w,c),{x:v,y:h,isScrolling:g,arrivedState:y,directions:b,measure(){const t=i.toValue(e);t&&O(t)}}}var Ve=Object.defineProperty,Ue=Object.defineProperties,ze=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,We=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,Ge=(e,t,n)=>t in e?Ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ke=(e,t)=>{for(var n in t||(t={}))We.call(t,n)&&Ge(e,n,t[n]);if(He)for(var n of He(t))qe.call(t,n)&&Ge(e,n,t[n]);return e};function Ye(e,t,n={}){var o;const{direction:a="bottom",interval:u=100}=n,s=r.reactive(Me(e,(l=Ke({},n),c={offset:Ke({[a]:null!=(o=n.distance)?o:0},n.offset)},Ue(l,ze(c)))));var l,c;const f=r.ref(),d=r.computed((()=>!!f.value));return r.watch((()=>[s.arrivedState[a],i.toValue(e)]),(function n(){s.measure();const o=i.toValue(e);if(!o)return;const l="bottom"===a||"top"===a?o.scrollHeight<=o.clientHeight:o.scrollWidth<=o.clientWidth;(s.arrivedState[a]||l)&&(f.value||(f.value=Promise.all([t(s),new Promise((e=>setTimeout(e,u)))]).finally((()=>{f.value=null,r.nextTick((()=>n()))}))))}),{immediate:!0}),{isLoading:d}}const Je={[i.directiveHooks.mounted](e,t){"function"==typeof t.value?Ye(e,t.value):Ye(e,...t.value)}},Xe={[i.directiveHooks.mounted](e,t){"function"==typeof t.value?me(e,t.value):me(e,...t.value)}},Qe=r.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(e,{slots:t}){const n=r.reactive(o.useMouse(e));return()=>{if(t.default)return t.default(n)}}}),Ze=r.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(e,{slots:t}){const n=r.ref(),i=r.reactive(o.useMouseInElement(n,e));return()=>{if(t.default)return r.h(e.as||"div",{ref:n},t.default(i))}}});var et=Object.defineProperty,tt=Object.defineProperties,nt=Object.getOwnPropertyDescriptors,rt=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,at=(e,t,n)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const ut=r.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(e,{slots:t}){const n=r.ref(),i=r.reactive(o.useMousePressed((a=((e,t)=>{for(var n in t||(t={}))ot.call(t,n)&&at(e,n,t[n]);if(rt)for(var n of rt(t))it.call(t,n)&&at(e,n,t[n]);return e})({},e),tt(a,nt({target:n})))));var a;return()=>{if(t.default)return r.h(e.as||"div",{ref:n},t.default(i))}}}),st=r.defineComponent({name:"UseNetwork",setup(e,{slots:t}){const n=r.reactive(o.useNetwork());return()=>{if(t.default)return t.default(n)}}});var lt=Object.defineProperty,ct=Object.defineProperties,ft=Object.getOwnPropertyDescriptors,dt=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,ht=(e,t,n)=>t in e?lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const mt=r.defineComponent({name:"UseNow",props:["interval"],setup(e,{slots:t}){const n=r.reactive(o.useNow((i=((e,t)=>{for(var n in t||(t={}))pt.call(t,n)&&ht(e,n,t[n]);if(dt)for(var n of dt(t))vt.call(t,n)&&ht(e,n,t[n]);return e})({},e),ct(i,ft({controls:!0})))));var i;return()=>{if(t.default)return t.default(n)}}}),gt=r.defineComponent({name:"UseObjectUrl",props:["object"],setup(e,{slots:t}){const n=i.toRef(e,"object"),r=o.useObjectUrl(n);return()=>{if(t.default&&r.value)return t.default(r)}}});var yt=Object.defineProperty,bt=Object.defineProperties,wt=Object.getOwnPropertyDescriptors,Dt=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,Ct=(e,t,n)=>t in e?yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const St=r.defineComponent({name:"UseOffsetPagination",props:["total","page","pageSize","onPageChange","onPageSizeChange","onPageCountChange"],emits:["page-change","page-size-change","page-count-change"],setup(e,{slots:t,emit:n}){const i=r.reactive(o.useOffsetPagination((a=((e,t)=>{for(var n in t||(t={}))Ot.call(t,n)&&Ct(e,n,t[n]);if(Dt)for(var n of Dt(t))Et.call(t,n)&&Ct(e,n,t[n]);return e})({},e),bt(a,wt({onPageChange(...t){var r;null==(r=e.onPageChange)||r.call(e,...t),n("page-change",...t)},onPageSizeChange(...t){var r;null==(r=e.onPageSizeChange)||r.call(e,...t),n("page-size-change",...t)},onPageCountChange(...t){var r;null==(r=e.onPageCountChange)||r.call(e,...t),n("page-count-change",...t)}})))));var a;return()=>{if(t.default)return t.default(i)}}}),At=r.defineComponent({name:"UseOnline",setup(e,{slots:t}){const n=r.reactive({isOnline:o.useOnline()});return()=>{if(t.default)return t.default(n)}}}),Ft=r.defineComponent({name:"UsePageLeave",setup(e,{slots:t}){const n=r.reactive({isLeft:o.usePageLeave()});return()=>{if(t.default)return t.default(n)}}});var Pt=Object.defineProperty,xt=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,kt=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable,Bt=(e,t,n)=>t in e?Pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const _t=r.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(e,{slots:t}){const n=r.ref(null),i=r.reactive(o.usePointer((a=((e,t)=>{for(var n in t||(t={}))Tt.call(t,n)&&Bt(e,n,t[n]);if(kt)for(var n of kt(t))Rt.call(t,n)&&Bt(e,n,t[n]);return e})({},e),u={target:"self"===e.target?n:s},xt(a,jt(u)))));var a,u;return()=>{if(t.default)return t.default(i,{ref:n})}}}),Nt=r.defineComponent({name:"UsePointerLock",props:["as"],setup(e,{slots:t}){const n=r.ref(),i=r.reactive(o.usePointerLock(n));return()=>{if(t.default)return r.h(e.as||"div",{ref:n},t.default(i))}}}),Lt=r.defineComponent({name:"UsePreferredColorScheme",setup(e,{slots:t}){const n=r.reactive({colorScheme:o.usePreferredColorScheme()});return()=>{if(t.default)return t.default(n)}}}),$t=r.defineComponent({name:"UsePreferredContrast",setup(e,{slots:t}){const n=r.reactive({contrast:o.usePreferredContrast()});return()=>{if(t.default)return t.default(n)}}}),It=r.defineComponent({name:"UsePreferredDark",setup(e,{slots:t}){const n=r.reactive({prefersDark:o.usePreferredDark()});return()=>{if(t.default)return t.default(n)}}}),Mt=r.defineComponent({name:"UsePreferredLanguages",setup(e,{slots:t}){const n=r.reactive({languages:o.usePreferredLanguages()});return()=>{if(t.default)return t.default(n)}}}),Vt=r.defineComponent({name:"UsePreferredReducedMotion",setup(e,{slots:t}){const n=r.reactive({motion:o.usePreferredReducedMotion()});return()=>{if(t.default)return t.default(n)}}});var Ut=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable;function Wt(e,t,n={}){const{window:o=s,initialValue:a="",observe:l=!1}=n,c=r.ref(a),f=r.computed((()=>{var e;return u(t)||(null==(e=null==o?void 0:o.document)?void 0:e.documentElement)}));function d(){var t;const n=i.toValue(e),r=i.toValue(f);if(r&&o){const e=null==(t=o.getComputedStyle(r).getPropertyValue(n))?void 0:t.trim();c.value=e||a}}return l&&function(e,t,n={}){const o=n,{window:a=s}=o,l=((e,t)=>{var n={};for(var r in e)zt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ut)for(var r of Ut(e))t.indexOf(r)<0&&Ht.call(e,r)&&(n[r]=e[r]);return n})(o,["window"]);let c;const f=I((()=>a&&"MutationObserver"in a)),d=()=>{c&&(c.disconnect(),c=void 0)},p=r.watch((()=>u(e)),(e=>{d(),f.value&&a&&e&&(c=new MutationObserver(t),c.observe(e,l))}),{immediate:!0});i.tryOnScopeDispose((()=>{d(),p()}))}(f,d,{attributes:!0,window:o}),r.watch([f,()=>i.toValue(e)],d,{immediate:!0}),r.watch(c,(t=>{var n;(null==(n=f.value)?void 0:n.style)&&f.value.style.setProperty(i.toValue(e),t)})),c}const qt="--vueuse-safe-area-top",Gt="--vueuse-safe-area-right",Kt="--vueuse-safe-area-bottom",Yt="--vueuse-safe-area-left";function Jt(e){return getComputedStyle(document.documentElement).getPropertyValue(e)}const Xt=r.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(e,{slots:t}){const{top:n,right:o,bottom:a,left:u}=function(){const e=r.ref(""),t=r.ref(""),n=r.ref(""),o=r.ref("");if(i.isClient){const e=Wt(qt),t=Wt(Gt),n=Wt(Kt),r=Wt(Yt);e.value="env(safe-area-inset-top, 0px)",t.value="env(safe-area-inset-right, 0px)",n.value="env(safe-area-inset-bottom, 0px)",r.value="env(safe-area-inset-left, 0px)",a(),l("resize",i.useDebounceFn(a))}function a(){e.value=Jt(qt),t.value=Jt(Gt),n.value=Jt(Kt),o.value=Jt(Yt)}return{top:e,right:t,bottom:n,left:o,update:a}}();return()=>{if(t.default)return r.h("div",{style:{paddingTop:e.top?n.value:"",paddingRight:e.right?o.value:"",paddingBottom:e.bottom?a.value:"",paddingLeft:e.left?u.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},t.default())}}});var Qt=Object.defineProperty,Zt=Object.defineProperties,en=Object.getOwnPropertyDescriptors,tn=Object.getOwnPropertySymbols,nn=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,on=(e,t,n)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const an={[i.directiveHooks.mounted](e,t){if("function"==typeof t.value){const n=t.value,r=Me(e,{onScroll(){n(r)},onStop(){n(r)}})}else{const[r,o]=t.value,i=Me(e,(n=((e,t)=>{for(var n in t||(t={}))nn.call(t,n)&&on(e,n,t[n]);if(tn)for(var n of tn(t))rn.call(t,n)&&on(e,n,t[n]);return e})({},o),Zt(n,en({onScroll(e){var t;null==(t=o.onScroll)||t.call(o,e),r(i)},onStop(e){var t;null==(t=o.onStop)||t.call(o,e),r(i)}}))))}var n}};function un(e){const t=window.getComputedStyle(e);if("scroll"===t.overflowX||"scroll"===t.overflowY||"auto"===t.overflowX&&e.clientHeight1||(t.preventDefault&&t.preventDefault(),!1))}const ln=function(){let e=!1;const t=r.ref(!1);return(n,o)=>{if(t.value=o.value,e)return;e=!0;const a=function(e,t=!1){const n=r.ref(t);let o,a=null;r.watch(i.toRef(e),(e=>{if(e){const t=e;o=t.style.overflow,n.value&&(t.style.overflow="hidden")}}),{immediate:!0});const u=()=>{const t=i.toValue(e);t&&n.value&&(i.isIOS&&(null==a||a()),t.style.overflow=o,n.value=!1)};return i.tryOnScopeDispose(u),r.computed({get:()=>n.value,set(t){t?(()=>{const t=i.toValue(e);t&&!n.value&&(i.isIOS&&(a=l(t,"touchmove",(e=>{sn(e)}),{passive:!1})),t.style.overflow="hidden",n.value=!0)})():u()}})}(n,o.value);r.watch(t,(e=>a.value=e))}}();var cn=Object.defineProperty,fn=Object.defineProperties,dn=Object.getOwnPropertyDescriptors,pn=Object.getOwnPropertySymbols,vn=Object.prototype.hasOwnProperty,hn=Object.prototype.propertyIsEnumerable,mn=(e,t,n)=>t in e?cn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const gn=r.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(e,{slots:t}){const n=r.reactive(o.useTimeAgo((()=>e.time),(i=((e,t)=>{for(var n in t||(t={}))vn.call(t,n)&&mn(e,n,t[n]);if(pn)for(var n of pn(t))hn.call(t,n)&&mn(e,n,t[n]);return e})({},e),fn(i,dn({controls:!0})))));var i;return()=>{if(t.default)return t.default(n)}}});var yn=Object.defineProperty,bn=Object.defineProperties,wn=Object.getOwnPropertyDescriptors,Dn=Object.getOwnPropertySymbols,On=Object.prototype.hasOwnProperty,En=Object.prototype.propertyIsEnumerable,Cn=(e,t,n)=>t in e?yn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Sn=r.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(e,{slots:t}){const n=r.reactive(o.useTimestamp((i=((e,t)=>{for(var n in t||(t={}))On.call(t,n)&&Cn(e,n,t[n]);if(Dn)for(var n of Dn(t))En.call(t,n)&&Cn(e,n,t[n]);return e})({},e),bn(i,wn({controls:!0})))));var i;return()=>{if(t.default)return t.default(n)}}});var An=Object.defineProperty,Fn=Object.getOwnPropertySymbols,Pn=Object.prototype.hasOwnProperty,xn=Object.prototype.propertyIsEnumerable,jn=(e,t,n)=>t in e?An(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kn=(e,t)=>{for(var n in t||(t={}))Pn.call(t,n)&&jn(e,n,t[n]);if(Fn)for(var n of Fn(t))xn.call(t,n)&&jn(e,n,t[n]);return e};const Tn=r.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(e,{slots:t,expose:n}){const{list:i}=r.toRefs(e),{list:a,containerProps:u,wrapperProps:s,scrollTo:l}=o.useVirtualList(i,e.options);return n({scrollTo:l}),"object"==typeof u.style&&!Array.isArray(u.style)&&(u.style.height=e.height||"300px"),()=>r.h("div",kn({},u),[r.h("div",kn({},s.value),a.value.map((e=>r.h("div",{style:{overFlow:"hidden",height:e.height}},t.default?t.default(e):"Please set content!"))))])}}),Rn=r.defineComponent({name:"UseWindowFocus",setup(e,{slots:t}){const n=r.reactive({focused:o.useWindowFocus()});return()=>{if(t.default)return t.default(n)}}}),Bn=r.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(e,{slots:t}){const n=r.reactive(o.useWindowSize(e));return()=>{if(t.default)return t.default(n)}}});t.OnClickOutside=a,t.OnLongPress=D,t.UseActiveElement=E,t.UseBattery=C,t.UseBrowserLocation=S,t.UseColorMode=q,t.UseDark=G,t.UseDeviceMotion=K,t.UseDeviceOrientation=Y,t.UseDevicePixelRatio=J,t.UseDevicesList=X,t.UseDocumentVisibility=Q,t.UseDraggable=ae,t.UseElementBounding=ue,t.UseElementSize=le,t.UseElementVisibility=he,t.UseEyeDropper=be,t.UseFullscreen=we,t.UseGeolocation=De,t.UseIdle=Oe,t.UseImage=$e,t.UseMouse=Qe,t.UseMouseInElement=Ze,t.UseMousePressed=ut,t.UseNetwork=st,t.UseNow=mt,t.UseObjectUrl=gt,t.UseOffsetPagination=St,t.UseOnline=At,t.UsePageLeave=Ft,t.UsePointer=_t,t.UsePointerLock=Nt,t.UsePreferredColorScheme=Lt,t.UsePreferredContrast=$t,t.UsePreferredDark=It,t.UsePreferredLanguages=Mt,t.UsePreferredReducedMotion=Vt,t.UseScreenSafeArea=Xt,t.UseTimeAgo=gn,t.UseTimestamp=Sn,t.UseVirtualList=Tn,t.UseWindowFocus=Rn,t.UseWindowSize=Bn,t.VOnClickOutside=d,t.VOnLongPress=O,t.vElementHover=se,t.vElementSize=ve,t.vElementVisibility=ye,t.vInfiniteScroll=Je,t.vIntersectionObserver=Xe,t.vOnClickOutside=d,t.vOnKeyStroke=b,t.vOnLongPress=O,t.vScroll=an,t.vScrollLock=ln},98339:(e,t,n)=>{var r=n(20144),o=r.default||r;t.Vue=o,t.Vue2=o,t.isVue2=!0,t.isVue3=!1,t.install=function(){},t.warn=o.util.warn,t.createApp=function(e,t){var n,r={},i={config:o.config,use:o.use.bind(o),mixin:o.mixin.bind(o),component:o.component.bind(o),provide:function(e,t){return r[e]=t,this},directive:function(e,t){return t?(o.directive(e,t),i):o.directive(e)},mount:function(i,a){return n||((n=new o(Object.assign({propsData:t},e,{provide:Object.assign(r,e.provide)}))).$mount(i,a),n)},unmount:function(){n&&(n.$destroy(),n=void 0)}};return i},Object.keys(r).forEach((function(e){t[e]=r[e]}))},59797:(e,t,n)=>{"use strict";var r=n(16227),o=n(61e3);function i(e,t,n){let i;i=o.isRef(n)?{evaluating:n}:n||{};const{lazy:a=!1,evaluating:u,shallow:s=!0,onError:l=r.noop}=i,c=o.ref(!a),f=s?o.shallowRef(t):o.ref(t);let d=0;return o.watchEffect((async t=>{if(!c.value)return;d++;const n=d;let r=!1;u&&Promise.resolve().then((()=>{u.value=!0}));try{const o=await e((e=>{t((()=>{u&&(u.value=!1),r||e()}))}));n===d&&(f.value=o)}catch(e){l(e)}finally{u&&n===d&&(u.value=!1),r=!0}})),a?o.computed((()=>(c.value=!0,f.value))):f}var a=Object.defineProperty,u=Object.defineProperties,s=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,d=(e,t,n)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function p(e){var t;const n=r.toValue(e);return null!=(t=null==n?void 0:n.$el)?t:n}const v=r.isClient?window:void 0,h=r.isClient?window.document:void 0,m=r.isClient?window.navigator:void 0,g=r.isClient?window.location:void 0;function y(...e){let t,n,i,a;if("string"==typeof e[0]||Array.isArray(e[0])?([n,i,a]=e,t=v):[t,n,i,a]=e,!t)return r.noop;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const u=[],s=()=>{u.forEach((e=>e())),u.length=0},l=o.watch((()=>[p(t),r.toValue(a)]),(([e,t])=>{s(),e&&u.push(...n.flatMap((n=>i.map((r=>((e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)))(e,n,r,t))))))}),{immediate:!0,flush:"post"}),c=()=>{l(),s()};return r.tryOnScopeDispose(c),c}let b=!1;var w=Object.defineProperty,D=Object.defineProperties,O=Object.getOwnPropertyDescriptors,E=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,A=(e,t,n)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,F=(e,t)=>{for(var n in t||(t={}))C.call(t,n)&&A(e,n,t[n]);if(E)for(var n of E(t))S.call(t,n)&&A(e,n,t[n]);return e},P=(e,t)=>D(e,O(t));function x(...e){let t,n,o={};3===e.length?(t=e[0],n=e[1],o=e[2]):2===e.length?"object"==typeof e[1]?(t=!0,n=e[0],o=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:i=v,eventName:a="keydown",passive:u=!1,dedupe:s=!1}=o,l="function"==typeof(c=t)?c:"string"==typeof c?e=>e.key===c:Array.isArray(c)?e=>c.includes(e.key):()=>!0;var c;return y(i,a,(e=>{e.repeat&&r.toValue(s)||l(e)&&n(e)}),u)}function j(e={}){var t;const{window:n=v}=e,o=null!=(t=e.document)?t:null==n?void 0:n.document,i=r.computedWithControl((()=>null),(()=>null==o?void 0:o.activeElement));return n&&(y(n,"blur",(e=>{null===e.relatedTarget&&i.trigger()}),!0),y(n,"focus",i.trigger,!0)),i}function k(){const e=o.ref(!1);return o.getCurrentInstance()&&o.onMounted((()=>{e.value=!0})),e}function T(e){const t=k();return o.computed((()=>(t.value,Boolean(e()))))}function R(e,t={}){const{immediate:n=!0,window:i=v}=t,a=o.ref(!1);let u=0,s=null;function l(t){a.value&&i&&(e({delta:t-u,timestamp:t}),u=t,s=i.requestAnimationFrame(l))}function c(){!a.value&&i&&(a.value=!0,s=i.requestAnimationFrame(l))}function f(){a.value=!1,null!=s&&i&&(i.cancelAnimationFrame(s),s=null)}return n&&c(),r.tryOnScopeDispose(f),{isActive:o.readonly(a),pause:f,resume:c}}var B=Object.defineProperty,_=Object.defineProperties,N=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function V(e,t,n){const{immediate:i=!0,delay:a=0,onError:u=r.noop,onSuccess:s=r.noop,resetOnExecute:l=!0,shallow:c=!0,throwError:f}=null!=n?n:{},d=c?o.shallowRef(t):o.ref(t),p=o.ref(!1),v=o.ref(!1),h=o.shallowRef(void 0);async function m(n=0,...o){l&&(d.value=t),h.value=void 0,p.value=!1,v.value=!0,n>0&&await r.promiseTimeout(n);const i="function"==typeof e?e(...o):e;try{const e=await i;d.value=e,p.value=!0,s(e)}catch(e){if(h.value=e,u(e),f)throw e}finally{v.value=!1}return d.value}i&&m(a);const g={state:d,isReady:p,isLoading:v,error:h,execute:m};return y=((e,t)=>{for(var n in t||(t={}))$.call(t,n)&&M(e,n,t[n]);if(L)for(var n of L(t))I.call(t,n)&&M(e,n,t[n]);return e})({},g),_(y,N({then:(e,t)=>new Promise(((e,t)=>{r.until(v).toBe(!1).then((()=>e(g))).catch(t)})).then(e,t)}));var y}const U={array:e=>JSON.stringify(e),object:e=>JSON.stringify(e),set:e=>JSON.stringify(Array.from(e)),map:e=>JSON.stringify(Object.fromEntries(e)),null:()=>""};function z(e){return new Promise(((t,n)=>{const r=new FileReader;r.onload=e=>{t(e.target.result)},r.onerror=n,r.readAsDataURL(e)}))}function H(e,t={}){const{window:n=v}=t,i=T((()=>n&&"matchMedia"in n&&"function"==typeof n.matchMedia));let a;const u=o.ref(!1),s=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",l):a.removeListener(l))},l=()=>{i.value&&(s(),a=n.matchMedia(r.toRef(e).value),u.value=!!(null==a?void 0:a.matches),a&&("addEventListener"in a?a.addEventListener("change",l):a.addListener(l)))};return o.watchEffect(l),r.tryOnScopeDispose((()=>s())),u}var W=Object.defineProperty,q=Object.getOwnPropertySymbols,G=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,Y=(e,t,n)=>t in e?W(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const J=["hash","host","hostname","href","pathname","port","protocol","search"];var X=Object.defineProperty,Q=Object.defineProperties,Z=Object.getOwnPropertyDescriptors,ee=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,re=(e,t,n)=>t in e?X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function oe(e){return JSON.parse(JSON.stringify(e))}const ie="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{},ae="__vueuse_ssr_handlers__",ue=se();function se(){return ae in ie||(ie[ae]=ie[ae]||{}),ie[ae]}function le(e,t){return ue[e]||t}function ce(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e?"object":Number.isNaN(e)?"any":"number"}var fe=Object.defineProperty,de=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,he=(e,t,n)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,me=(e,t)=>{for(var n in t||(t={}))pe.call(t,n)&&he(e,n,t[n]);if(de)for(var n of de(t))ve.call(t,n)&&he(e,n,t[n]);return e};const ge={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ye="vueuse-storage";function be(e,t,n,i={}){var a;const{flush:u="pre",deep:s=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:f=!1,shallow:d,window:p=v,eventFilter:h,onError:m=(e=>{console.error(e)})}=i,g=(d?o.shallowRef:o.ref)(t);if(!n)try{n=le("getDefaultStorage",(()=>{var e;return null==(e=v)?void 0:e.localStorage}))()}catch(e){m(e)}if(!n)return g;const b=r.toValue(t),w=ce(b),D=null!=(a=i.serializer)?a:ge[w],{pause:O,resume:E}=r.pausableWatch(g,(()=>function(t){try{if(null==t)n.removeItem(e);else{const r=D.write(t),o=n.getItem(e);o!==r&&(n.setItem(e,r),p&&p.dispatchEvent(new CustomEvent(ye,{detail:{key:e,oldValue:o,newValue:r,storageArea:n}})))}}catch(e){m(e)}}(g.value)),{flush:u,deep:s,eventFilter:h});return p&&l&&(y(p,"storage",C),y(p,ye,(function(e){C(e.detail)}))),C(),g;function C(t){if(!t||t.storageArea===n)if(t&&null==t.key)g.value=b;else if(!t||t.key===e){O();try{g.value=function(t){const r=t?t.newValue:n.getItem(e);if(null==r)return c&&null!==b&&n.setItem(e,D.write(b)),b;if(!t&&f){const e=D.read(r);return"function"==typeof f?f(e,b):"object"!==w||Array.isArray(e)?e:me(me({},b),e)}return"string"!=typeof r?r:D.read(r)}(t)}catch(e){m(e)}finally{t?o.nextTick(E):E()}}}}function we(e){return H("(prefers-color-scheme: dark)",e)}var De=Object.defineProperty,Oe=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable,Se=(e,t,n)=>t in e?De(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Ae(e={}){const{selector:t="html",attribute:n="class",initialValue:i="auto",window:a=v,storage:u,storageKey:s="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:f,disableTransition:d=!0}=e,h=((e,t)=>{for(var n in t||(t={}))Ee.call(t,n)&&Se(e,n,t[n]);if(Oe)for(var n of Oe(t))Ce.call(t,n)&&Se(e,n,t[n]);return e})({auto:"",light:"light",dark:"dark"},e.modes||{}),m=we({window:a}),g=o.computed((()=>m.value?"dark":"light")),y=c||(null==s?r.toRef(i):be(s,i,u,{window:a,listenToStorageChanges:l})),b=o.computed((()=>"auto"===y.value?g.value:y.value)),w=le("updateHTMLAttrs",((e,t,n)=>{const r="string"==typeof e?null==a?void 0:a.document.querySelector(e):p(e);if(!r)return;let o;if(d&&(o=a.document.createElement("style"),o.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),a.document.head.appendChild(o)),"class"===t){const e=n.split(/\s/g);Object.values(h).flatMap((e=>(e||"").split(/\s/g))).filter(Boolean).forEach((t=>{e.includes(t)?r.classList.add(t):r.classList.remove(t)}))}else r.setAttribute(t,n);d&&(a.getComputedStyle(o).opacity,document.head.removeChild(o))}));function D(e){var r;w(t,n,null!=(r=h[e])?r:e)}function O(t){e.onChanged?e.onChanged(t,D):D(t)}o.watch(b,O,{flush:"post",immediate:!0}),r.tryOnMounted((()=>O(b.value)));const E=o.computed({get:()=>f?y.value:b.value,set(e){y.value=e}});try{return Object.assign(E,{store:y,system:g,state:b})}catch(e){return E}}var Fe=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable,je=(e,t)=>{var n={};for(var r in e)Pe.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Fe)for(var r of Fe(e))t.indexOf(r)<0&&xe.call(e,r)&&(n[r]=e[r]);return n};function ke(e,t,n={}){const i=n,{window:a=v}=i,u=je(i,["window"]);let s;const l=T((()=>a&&"MutationObserver"in a)),c=()=>{s&&(s.disconnect(),s=void 0)},f=o.watch((()=>p(e)),(e=>{c(),l.value&&a&&e&&(s=new MutationObserver(t),s.observe(e,u))}),{immediate:!0}),d=()=>{c(),f()};return r.tryOnScopeDispose(d),{isSupported:l,stop:d}}function Te(e,t,n={}){const{window:i=v,initialValue:a="",observe:u=!1}=n,s=o.ref(a),l=o.computed((()=>{var e;return p(t)||(null==(e=null==i?void 0:i.document)?void 0:e.documentElement)}));function c(){var t;const n=r.toValue(e),o=r.toValue(l);if(o&&i){const e=null==(t=i.getComputedStyle(o).getPropertyValue(n))?void 0:t.trim();s.value=e||a}}return u&&ke(l,c,{attributes:!0,window:i}),o.watch([l,()=>r.toValue(e)],c,{immediate:!0}),o.watch(s,(t=>{var n;(null==(n=l.value)?void 0:n.style)&&l.value.style.setProperty(r.toValue(e),t)})),s}function Re(){const e=o.getCurrentInstance(),t=r.computedWithControl((()=>null),(()=>e.proxy.$el));return o.onUpdated(t.trigger),o.onMounted(t.trigger),t}var Be=Object.defineProperty,_e=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,Le=Object.getOwnPropertySymbols,$e=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Me=(e,t,n)=>t in e?Be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Ve(e){return e}function Ue(e,t){return e.value=t}function ze(e){return e?"function"==typeof e?e:oe:Ve}function He(e){return e?"function"==typeof e?e:oe:Ve}function We(e,t={}){const{clone:n=!1,dump:i=ze(n),parse:a=He(n),setSource:u=Ue}=t;function s(){return o.markRaw({snapshot:i(e.value),timestamp:r.timestamp()})}const l=o.ref(s()),c=o.ref([]),f=o.ref([]),d=t=>{u(e,a(t.snapshot)),l.value=t},p=o.computed((()=>[l.value,...c.value])),v=o.computed((()=>c.value.length>0)),h=o.computed((()=>f.value.length>0));return{source:e,undoStack:c,redoStack:f,last:l,history:p,canUndo:v,canRedo:h,clear:()=>{c.value.splice(0,c.value.length),f.value.splice(0,f.value.length)},commit:()=>{c.value.unshift(l.value),l.value=s(),t.capacity&&c.value.length>t.capacity&&c.value.splice(t.capacity,1/0),f.value.length&&f.value.splice(0,f.value.length)},reset:()=>{d(l.value)},undo:()=>{const e=c.value.shift();e&&(f.value.unshift(l.value),d(e))},redo:()=>{const e=f.value.shift();e&&(c.value.unshift(l.value),d(e))}}}var qe=Object.defineProperty,Ge=Object.defineProperties,Ke=Object.getOwnPropertyDescriptors,Ye=Object.getOwnPropertySymbols,Je=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,Qe=(e,t,n)=>t in e?qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ze=(e,t)=>{for(var n in t||(t={}))Je.call(t,n)&&Qe(e,n,t[n]);if(Ye)for(var n of Ye(t))Xe.call(t,n)&&Qe(e,n,t[n]);return e},et=(e,t)=>Ge(e,Ke(t));function tt(e,t={}){const{deep:n=!1,flush:o="pre",eventFilter:i}=t,{eventFilter:a,pause:u,resume:s,isActive:l}=r.pausableFilter(i),{ignoreUpdates:c,ignorePrevAsyncUpdates:f,stop:d}=r.watchIgnorable(e,m,{deep:n,flush:o,eventFilter:a}),p=We(e,et(Ze({},t),{clone:t.clone||n,setSource:function(e,t){f(),c((()=>{e.value=t}))}})),{clear:v,commit:h}=p;function m(){f(),h()}return et(Ze({},p),{isTracking:l,pause:u,resume:function(e){s(),e&&m()},commit:m,batch:function(e){let t=!1;const n=()=>t=!0;c((()=>{e(n)})),t||m()},dispose:function(){d(),v()}})}var nt=Object.defineProperty,rt=Object.defineProperties,ot=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,st=(e,t,n)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lt=(e,t)=>{for(var n in t||(t={}))at.call(t,n)&&st(e,n,t[n]);if(it)for(var n of it(t))ut.call(t,n)&&st(e,n,t[n]);return e};function ct(e={}){const{window:t=v}=e,n=T((()=>t&&"DeviceOrientationEvent"in t)),r=o.ref(!1),i=o.ref(null),a=o.ref(null),u=o.ref(null);return t&&n.value&&y(t,"deviceorientation",(e=>{r.value=e.absolute,i.value=e.alpha,a.value=e.beta,u.value=e.gamma})),{isSupported:n,isAbsolute:r,alpha:i,beta:a,gamma:u}}function ft(e,t={}){const{controls:n=!1,navigator:i=m}=t,a=T((()=>i&&"permissions"in i));let u;const s="string"==typeof e?{name:e}:e,l=o.ref(),c=()=>{u&&(l.value=u.state)},f=r.createSingletonPromise((async()=>{if(a.value){if(!u)try{u=await i.permissions.query(s),y(u,"change",c),c()}catch(e){l.value="prompt"}return u}}));return f(),n?{state:l,isSupported:a,query:f}:l}var dt=Object.defineProperty,pt=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,ht=Object.getOwnPropertySymbols,mt=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,yt=(e,t,n)=>t in e?dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bt=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,Ot=(e,t)=>{var n={};for(var r in e)wt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&bt)for(var r of bt(e))t.indexOf(r)<0&&Dt.call(e,r)&&(n[r]=e[r]);return n};function Et(e,t,n={}){const i=n,{window:a=v}=i,u=Ot(i,["window"]);let s;const l=T((()=>a&&"ResizeObserver"in a)),c=()=>{s&&(s.disconnect(),s=void 0)},f=o.computed((()=>Array.isArray(e)?e.map((e=>p(e))):[p(e)])),d=o.watch(f,(e=>{if(c(),l.value&&a){s=new ResizeObserver(t);for(const t of e)t&&s.observe(t,u)}}),{immediate:!0,flush:"post",deep:!0}),h=()=>{c(),d()};return r.tryOnScopeDispose(h),{isSupported:l,stop:h}}var Ct=Object.defineProperty,St=Object.getOwnPropertySymbols,At=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,Pt=(e,t,n)=>t in e?Ct(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function xt(e,t={width:0,height:0},n={}){const{window:r=v,box:i="content-box"}=n,a=o.computed((()=>{var t,n;return null==(n=null==(t=p(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")})),u=o.ref(t.width),s=o.ref(t.height);return Et(e,(([t])=>{const n="border-box"===i?t.borderBoxSize:"content-box"===i?t.contentBoxSize:t.devicePixelContentBoxSize;if(r&&a.value){const t=p(e);if(t){const e=r.getComputedStyle(t);u.value=parseFloat(e.width),s.value=parseFloat(e.height)}}else if(n){const e=Array.isArray(n)?n:[n];u.value=e.reduce(((e,{inlineSize:t})=>e+t),0),s.value=e.reduce(((e,{blockSize:t})=>e+t),0)}else u.value=t.contentRect.width,s.value=t.contentRect.height}),n),o.watch((()=>p(e)),(e=>{u.value=e?t.width:0,s.value=e?t.height:0})),{width:u,height:s}}function jt(e,t,n={}){const{root:i,rootMargin:a="0px",threshold:u=.1,window:s=v,immediate:l=!0}=n,c=T((()=>s&&"IntersectionObserver"in s)),f=o.computed((()=>{const t=r.toValue(e);return(Array.isArray(t)?t:[t]).map(p).filter(r.notNullish)}));let d=r.noop;const h=o.ref(l),m=c.value?o.watch((()=>[f.value,p(i),h.value]),(([e,n])=>{if(d(),!h.value)return;if(!e.length)return;const o=new IntersectionObserver(t,{root:p(n),rootMargin:a,threshold:u});e.forEach((e=>e&&o.observe(e))),d=()=>{o.disconnect(),d=r.noop}}),{immediate:l,flush:"post"}):r.noop,g=()=>{d(),m(),h.value=!1};return r.tryOnScopeDispose(g),{isSupported:c,isActive:h,pause(){d(),h.value=!1},resume(){h.value=!0},stop:g}}const kt=new Map;var Tt=Object.defineProperty,Rt=Object.defineProperties,Bt=Object.getOwnPropertyDescriptors,_t=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable,$t=(e,t,n)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,It=(e,t)=>{for(var n in t||(t={}))Nt.call(t,n)&&$t(e,n,t[n]);if(_t)for(var n of _t(t))Lt.call(t,n)&&$t(e,n,t[n]);return e},Mt=(e,t)=>Rt(e,Bt(t));const Vt={json:"application/json",text:"text/plain"};function Ut(e){return e&&r.containsProp(e,"immediate","refetch","initialData","timeout","beforeFetch","afterFetch","onFetchError","fetch")}function zt(e){return"undefined"!=typeof Headers&&e instanceof Headers?Object.fromEntries([...e.entries()]):e}function Ht(e,...t){return"overwrite"===e?async e=>{const n=t[t.length-1];return n?It(It({},e),await n(e)):e}:async e=>{for(const n of t)n&&(e=It(It({},e),await n(e)));return e}}function Wt(e,...t){var n;const i="function"==typeof AbortController;let a={},u={immediate:!0,refetch:!1,timeout:0};const s={method:"GET",type:"text",payload:void 0};t.length>0&&(Ut(t[0])?u=It(It({},u),t[0]):a=t[0]),t.length>1&&Ut(t[1])&&(u=It(It({},u),t[1]));const{fetch:l=(null==(n=v)?void 0:n.fetch),initialData:c,timeout:f}=u,d=r.createEventHook(),p=r.createEventHook(),h=r.createEventHook(),m=o.ref(!1),g=o.ref(!1),y=o.ref(!1),b=o.ref(null),w=o.shallowRef(null),D=o.shallowRef(null),O=o.shallowRef(c||null),E=o.computed((()=>i&&g.value));let C,S;const A=()=>{i&&(null==C||C.abort(),C=new AbortController,C.signal.onabort=()=>y.value=!0,a=Mt(It({},a),{signal:C.signal}))},F=e=>{g.value=e,m.value=!e};f&&(S=r.useTimeoutFn(A,f,{immediate:!1}));const P=async(t=!1)=>{var n;A(),F(!0),D.value=null,b.value=null,y.value=!1;const o={method:s.method,headers:{}};if(s.payload){const e=zt(o.headers);s.payloadType&&(e["Content-Type"]=null!=(n=Vt[s.payloadType])?n:s.payloadType);const t=r.toValue(s.payload);o.body="json"===s.payloadType?JSON.stringify(t):t}let i=!1;const f={url:r.toValue(e),options:It(It({},o),a),cancel:()=>{i=!0}};if(u.beforeFetch&&Object.assign(f,await u.beforeFetch(f)),i||!l)return F(!1),Promise.resolve(null);let v=null;return S&&S.start(),new Promise(((e,n)=>{var r;l(f.url,Mt(It(It({},o),f.options),{headers:It(It({},zt(o.headers)),zt(null==(r=f.options)?void 0:r.headers))})).then((async t=>{if(w.value=t,b.value=t.status,v=await t[s.type](),!t.ok)throw O.value=c||null,new Error(t.statusText);return u.afterFetch&&({data:v}=await u.afterFetch({data:v,response:t})),O.value=v,d.trigger(t),e(t)})).catch((async r=>{let o=r.message||r.name;return u.onFetchError&&({error:o}=await u.onFetchError({data:v,error:r,response:w.value})),D.value=o,p.trigger(r),t?n(r):e(null)})).finally((()=>{F(!1),S&&S.stop(),h.trigger(null)}))}))},x=r.toRef(u.refetch);o.watch([x,r.toRef(e)],(([e])=>e&&P()),{deep:!0});const j={isFinished:m,statusCode:b,response:w,error:D,data:O,isFetching:g,canAbort:E,aborted:y,abort:A,execute:P,onFetchResponse:d.on,onFetchError:p.on,onFetchFinally:h.on,get:k("GET"),put:k("PUT"),post:k("POST"),delete:k("DELETE"),patch:k("PATCH"),head:k("HEAD"),options:k("OPTIONS"),json:R("json"),text:R("text"),blob:R("blob"),arrayBuffer:R("arrayBuffer"),formData:R("formData")};function k(e){return(t,n)=>{if(!g.value){s.method=e,s.payload=t,s.payloadType=n,o.isRef(s.payload)&&o.watch([x,r.toRef(s.payload)],(([e])=>e&&P()),{deep:!0});const i=r.toValue(s.payload);return n||!i||Object.getPrototypeOf(i)!==Object.prototype||i instanceof FormData||(s.payloadType="json"),Mt(It({},j),{then:(e,t)=>T().then(e,t)})}}}function T(){return new Promise(((e,t)=>{r.until(m).toBe(!0).then((()=>e(j))).catch((e=>t(e)))}))}function R(e){return()=>{if(!g.value)return s.type=e,Mt(It({},j),{then:(e,t)=>T().then(e,t)})}}return u.immediate&&Promise.resolve().then((()=>P())),Mt(It({},j),{then:(e,t)=>T().then(e,t)})}var qt=Object.defineProperty,Gt=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable,Jt=(e,t,n)=>t in e?qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xt=(e,t)=>{for(var n in t||(t={}))Kt.call(t,n)&&Jt(e,n,t[n]);if(Gt)for(var n of Gt(t))Yt.call(t,n)&&Jt(e,n,t[n]);return e};const Qt={multiple:!0,accept:"*"};var Zt=Object.defineProperty,en=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable,rn=(e,t,n)=>t in e?Zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,on=(e,t)=>{for(var n in t||(t={}))tn.call(t,n)&&rn(e,n,t[n]);if(en)for(var n of en(t))nn.call(t,n)&&rn(e,n,t[n]);return e};const an=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"],un=["mousemove","mousedown","resize","keydown","touchstart","wheel"];var sn=Object.defineProperty,ln=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,dn=(e,t,n)=>t in e?sn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function pn(e,t={}){const{throttle:n=0,idle:i=200,onStop:a=r.noop,onScroll:u=r.noop,offset:s={left:0,right:0,top:0,bottom:0},eventListenerOptions:l={capture:!1,passive:!0},behavior:c="auto"}=t,f=o.ref(0),d=o.ref(0),p=o.computed({get:()=>f.value,set(e){h(e,void 0)}}),v=o.computed({get:()=>d.value,set(e){h(void 0,e)}});function h(t,n){var o,i,a;const u=r.toValue(e);u&&(null==(a=u instanceof Document?document.body:u)||a.scrollTo({top:null!=(o=r.toValue(n))?o:v.value,left:null!=(i=r.toValue(t))?i:p.value,behavior:r.toValue(c)}))}const m=o.ref(!1),g=o.reactive({left:!0,right:!1,top:!0,bottom:!1}),b=o.reactive({left:!1,right:!1,top:!1,bottom:!1}),w=e=>{m.value&&(m.value=!1,b.left=!1,b.right=!1,b.top=!1,b.bottom=!1,a(e))},D=r.useDebounceFn(w,n+i),O=e=>{const t=e===document?e.documentElement:e,{display:n,flexDirection:r}=getComputedStyle(t),o=t.scrollLeft;b.left=of.value;const i=Math.abs(o)<=0+(s.left||0),a=Math.abs(o)+t.clientWidth>=t.scrollWidth-(s.right||0)-1;"flex"===n&&"row-reverse"===r?(g.left=a,g.right=i):(g.left=i,g.right=a),f.value=o;let u=t.scrollTop;e!==document||u||(u=document.body.scrollTop),b.top=ud.value;const l=Math.abs(u)<=0+(s.top||0),c=Math.abs(u)+t.clientHeight>=t.scrollHeight-(s.bottom||0)-1;"flex"===n&&"column-reverse"===r?(g.top=c,g.bottom=l):(g.top=l,g.bottom=c),d.value=u},E=e=>{const t=e.target===document?e.target.documentElement:e.target;O(t),m.value=!0,D(e),u(e)};return y(e,"scroll",n?r.useThrottleFn(E,n,!0,!1):E,l),y(e,"scrollend",w,l),{x:p,y:v,isScrolling:m,arrivedState:g,directions:b,measure(){const t=r.toValue(e);t&&O(t)}}}var vn=Object.defineProperty,hn=Object.defineProperties,mn=Object.getOwnPropertyDescriptors,gn=Object.getOwnPropertySymbols,yn=Object.prototype.hasOwnProperty,bn=Object.prototype.propertyIsEnumerable,wn=(e,t,n)=>t in e?vn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dn=(e,t)=>{for(var n in t||(t={}))yn.call(t,n)&&wn(e,n,t[n]);if(gn)for(var n of gn(t))bn.call(t,n)&&wn(e,n,t[n]);return e};const On=["mousedown","mouseup","keydown","keyup"],En={ctrl:"control",command:"meta",cmd:"meta",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright"};var Cn=Object.defineProperty,Sn=Object.getOwnPropertySymbols,An=Object.prototype.hasOwnProperty,Fn=Object.prototype.propertyIsEnumerable,Pn=(e,t,n)=>t in e?Cn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xn=(e,t)=>{for(var n in t||(t={}))An.call(t,n)&&Pn(e,n,t[n]);if(Sn)for(var n of Sn(t))Fn.call(t,n)&&Pn(e,n,t[n]);return e};function jn(e,t){r.toValue(e)&&t(r.toValue(e))}function kn(e){return Array.from(e).map((({label:e,kind:t,language:n,mode:r,activeCues:o,cues:i,inBandMetadataTrackDispatchType:a},u)=>({id:u,label:e,kind:t,language:n,mode:r,activeCues:o,cues:i,inBandMetadataTrackDispatchType:a})))}const Tn={src:"",tracks:[]},Rn={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof Touch?null:[e.movementX,e.movementY]};function Bn(e={}){const{type:t="page",touch:n=!0,resetOnTouchEnds:r=!1,initialValue:i={x:0,y:0},window:a=v,target:u=a,eventFilter:s}=e,l=o.ref(i.x),c=o.ref(i.y),f=o.ref(null),d="function"==typeof t?t:Rn[t],p=e=>{const t=d(e);t&&([l.value,c.value]=t,f.value="mouse")},h=e=>{if(e.touches.length>0){const t=d(e.touches[0]);t&&([l.value,c.value]=t,f.value="touch")}},m=s?e=>s((()=>p(e)),{}):e=>p(e),g=s?e=>s((()=>h(e)),{}):e=>h(e);return u&&(y(u,"mousemove",m,{passive:!0}),y(u,"dragover",m,{passive:!0}),n&&"movement"!==t&&(y(u,"touchstart",g,{passive:!0}),y(u,"touchmove",g,{passive:!0}),r&&y(u,"touchend",(()=>{l.value=i.x,c.value=i.y}),{passive:!0}))),{x:l,y:c,sourceType:f}}function _n(e,t={}){const{handleOutside:n=!0,window:r=v}=t,{x:i,y:a,sourceType:u}=Bn(t),s=o.ref(null!=e?e:null==r?void 0:r.document.body),l=o.ref(0),c=o.ref(0),f=o.ref(0),d=o.ref(0),h=o.ref(0),m=o.ref(0),g=o.ref(!0);let b=()=>{};return r&&(b=o.watch([s,i,a],(()=>{const e=p(s);if(!e)return;const{left:t,top:o,width:u,height:v}=e.getBoundingClientRect();f.value=t+r.pageXOffset,d.value=o+r.pageYOffset,h.value=v,m.value=u;const y=i.value-f.value,b=a.value-d.value;g.value=0===u||0===v||y<0||b<0||y>u||b>v,!n&&g.value||(l.value=y,c.value=b)}),{immediate:!0}),y(document,"mouseleave",(()=>{g.value=!0}))),{x:i,y:a,sourceType:u,elementX:l,elementY:c,elementPositionX:f,elementPositionY:d,elementHeight:h,elementWidth:m,isOutside:g,stop:b}}function Nn(e={}){const{window:t=v}=e,n=null==t?void 0:t.navigator,r=T((()=>n&&"connection"in n)),i=o.ref(!0),a=o.ref(!1),u=o.ref(void 0),s=o.ref(void 0),l=o.ref(void 0),c=o.ref(void 0),f=o.ref(void 0),d=o.ref(void 0),p=o.ref("unknown"),h=r.value&&n.connection;function m(){n&&(i.value=n.onLine,u.value=i.value?void 0:Date.now(),s.value=i.value?Date.now():void 0,h&&(l.value=h.downlink,c.value=h.downlinkMax,d.value=h.effectiveType,f.value=h.rtt,a.value=h.saveData,p.value=h.type))}return t&&(y(t,"offline",(()=>{i.value=!1,u.value=Date.now()})),y(t,"online",(()=>{i.value=!0,s.value=Date.now()}))),h&&y(h,"change",m,!1),m(),{isSupported:r,isOnline:i,saveData:a,offlineAt:u,onlineAt:s,downlink:l,downlinkMax:c,effectiveType:d,rtt:f,type:p}}var Ln=Object.defineProperty,$n=Object.getOwnPropertySymbols,In=Object.prototype.hasOwnProperty,Mn=Object.prototype.propertyIsEnumerable,Vn=(e,t,n)=>t in e?Ln(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Un(e={}){const{controls:t=!1,interval:n="requestAnimationFrame"}=e,i=o.ref(new Date),a=()=>i.value=new Date,u="requestAnimationFrame"===n?R(a,{immediate:!0}):r.useIntervalFn(a,n,{immediate:!0});return t?((e,t)=>{for(var n in t||(t={}))In.call(t,n)&&Vn(e,n,t[n]);if($n)for(var n of $n(t))Mn.call(t,n)&&Vn(e,n,t[n]);return e})({now:i},u):i}function zn(e,t,n){if("function"==typeof e||o.isReadonly(e))return o.computed((()=>r.clamp(r.toValue(e),r.toValue(t),r.toValue(n))));const i=o.ref(e);return o.computed({get:()=>i.value=r.clamp(i.value,r.toValue(t),r.toValue(n)),set(e){i.value=r.clamp(e,r.toValue(t),r.toValue(n))}})}var Hn=Object.getOwnPropertySymbols,Wn=Object.prototype.hasOwnProperty,qn=Object.prototype.propertyIsEnumerable,Gn=Object.defineProperty,Kn=Object.defineProperties,Yn=Object.getOwnPropertyDescriptors,Jn=Object.getOwnPropertySymbols,Xn=Object.prototype.hasOwnProperty,Qn=Object.prototype.propertyIsEnumerable,Zn=(e,t,n)=>t in e?Gn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const er={x:0,y:0,pointerId:0,pressure:0,tiltX:0,tiltY:0,width:0,height:0,twist:0,pointerType:null},tr=Object.keys(er),nr="--vueuse-safe-area-top",rr="--vueuse-safe-area-right",or="--vueuse-safe-area-bottom",ir="--vueuse-safe-area-left";function ar(e){return getComputedStyle(document.documentElement).getPropertyValue(e)}function ur(e){const t=window.getComputedStyle(e);if("scroll"===t.overflowX||"scroll"===t.overflowY||"auto"===t.overflowX&&e.clientHeight1||(t.preventDefault&&t.preventDefault(),!1))}var lr=Object.defineProperty,cr=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,pr=(e,t,n)=>t in e?lr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t)=>{for(var n in t||(t={}))fr.call(t,n)&&pr(e,n,t[n]);if(cr)for(var n of cr(t))dr.call(t,n)&&pr(e,n,t[n]);return e};const hr=(e,t)=>e.sort(t),mr=(e,t)=>e-t;var gr=Object.defineProperty,yr=Object.getOwnPropertySymbols,br=Object.prototype.hasOwnProperty,wr=Object.prototype.propertyIsEnumerable,Dr=(e,t,n)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Or=(e,t)=>{for(var n in t||(t={}))br.call(t,n)&&Dr(e,n,t[n]);if(yr)for(var n of yr(t))wr.call(t,n)&&Dr(e,n,t[n]);return e};let Er=0;var Cr=Object.defineProperty,Sr=Object.defineProperties,Ar=Object.getOwnPropertyDescriptors,Fr=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,xr=Object.prototype.propertyIsEnumerable,jr=(e,t,n)=>t in e?Cr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kr=(e,t)=>{for(var n in t||(t={}))Pr.call(t,n)&&jr(e,n,t[n]);if(Fr)for(var n of Fr(t))xr.call(t,n)&&jr(e,n,t[n]);return e},Tr=Object.defineProperty,Rr=Object.getOwnPropertySymbols,Br=Object.prototype.hasOwnProperty,_r=Object.prototype.propertyIsEnumerable,Nr=(e,t,n)=>t in e?Tr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Lr=[{max:6e4,value:1e3,name:"second"},{max:276e4,value:6e4,name:"minute"},{max:72e6,value:36e5,name:"hour"},{max:5184e5,value:864e5,name:"day"},{max:24192e5,value:6048e5,name:"week"},{max:28512e6,value:2592e6,name:"month"},{max:1/0,value:31536e6,name:"year"}],$r={justNow:"just now",past:e=>e.match(/\d/)?`${e} ago`:e,future:e=>e.match(/\d/)?`in ${e}`:e,month:(e,t)=>1===e?t?"last month":"next month":`${e} month${e>1?"s":""}`,year:(e,t)=>1===e?t?"last year":"next year":`${e} year${e>1?"s":""}`,day:(e,t)=>1===e?t?"yesterday":"tomorrow":`${e} day${e>1?"s":""}`,week:(e,t)=>1===e?t?"last week":"next week":`${e} week${e>1?"s":""}`,hour:e=>`${e} hour${e>1?"s":""}`,minute:e=>`${e} minute${e>1?"s":""}`,second:e=>`${e} second${e>1?"s":""}`,invalid:""};function Ir(e){return e.toISOString().slice(0,10)}function Mr(e,t={},n=Date.now()){var r;const{max:o,messages:i=$r,fullDateFormatter:a=Ir,units:u=Lr,showSecond:s=!1,rounding:l="round"}=t,c="number"==typeof l?e=>+e.toFixed(l):Math[l],f=+n-+e,d=Math.abs(f);function p(e,t){return c(Math.abs(e)/t.value)}function v(e,t){const n=p(e,t),r=e>0,o=h(t.name,n,r);return h(r?"past":"future",o,r)}function h(e,t,n){const r=i[e];return"function"==typeof r?r(t,n):r.replace("{0}",t.toString())}if(d<6e4&&!s)return i.justNow;if("number"==typeof o&&d>o)return a(new Date(e));if("string"==typeof o){const t=null==(r=u.find((e=>e.name===o)))?void 0:r.max;if(t&&d>t)return a(new Date(e))}for(const[e,t]of u.entries()){if(p(f,t)<=0&&u[e-1])return v(f,u[e-1]);if(dt in e?Vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qr=Object.defineProperty,Gr=Object.defineProperties,Kr=Object.getOwnPropertyDescriptors,Yr=Object.getOwnPropertySymbols,Jr=Object.prototype.hasOwnProperty,Xr=Object.prototype.propertyIsEnumerable,Qr=(e,t,n)=>t in e?qr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Zr={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]},eo=Object.assign({},{linear:r.identity},Zr);function to(e,t,n){return e+n*(t-e)}function no(e){return("number"==typeof e?[e]:e)||[]}function ro(e,t,n,o={}){var i,a;const u=r.toValue(t),s=r.toValue(n),l=no(u),c=no(s),f=null!=(i=r.toValue(o.duration))?i:1e3,d=Date.now(),p=Date.now()+f,v="function"==typeof o.transition?o.transition:null!=(a=r.toValue(o.transition))?a:r.identity,h="function"==typeof v?v:function([e,t,n,r]){const o=(e,t)=>1-3*t+3*e,i=(e,t)=>3*t-6*e,a=e=>3*e,u=(e,t,n)=>((o(t,n)*e+i(t,n))*e+a(t))*e;return s=>e===t&&n===r?s:u((t=>{let r=t;for(let f=0;f<4;++f){const f=(s=r,3*o(l=e,c=n)*s*s+2*i(l,c)*s+a(l));if(0===f)return r;r-=(u(r,e,n)-t)/f}var s,l,c;return r})(s),t,r)}(v);return new Promise((t=>{e.value=u;const n=()=>{var r;if(null==(r=o.abort)?void 0:r.call(o))return void t();const i=Date.now(),a=h((i-d)/f),u=no(e.value).map(((e,t)=>to(l[t],c[t],a)));Array.isArray(e.value)?e.value=u.map(((e,t)=>{var n,r;return to(null!=(n=l[t])?n:0,null!=(r=c[t])?r:0,a)})):"number"==typeof e.value&&(e.value=u[0]),if?"function"==typeof f?f(e):oe(e):e,D=()=>r.isDef(e[t])?w(e[t]):h,O=e=>{m?m(e)&&y(b,e):y(b,e)};if(d){const n=D(),r=o.ref(n);return o.watch((()=>e[t]),(e=>r.value=w(e))),o.watch(r,(n=>{(n!==e[t]||v)&&O(n)}),{deep:v}),r}return o.computed({get:()=>D(),set(e){O(e)}})}function io(e){const t=o.ref(null),n=xt(t),r=o.ref([]),i=o.shallowRef(e);return{state:o.ref({start:0,end:10}),source:i,currentList:r,size:n,containerRef:t}}function ao(e,t,n){return r=>{if("number"==typeof n)return Math.ceil(r/n);const{start:o=0}=e.value;let i=0,a=0;for(let e=o;er));e++);return a-o}}function uo(e,t){return n=>{if("number"==typeof t)return Math.floor(n/t)+1;let r=0,o=0;for(let i=0;i=n){o=i;break}return o+1}}function so(e,t,n,r,{containerRef:o,state:i,currentList:a,source:u}){return()=>{const s=o.value;if(s){const o=n("vertical"===e?s.scrollTop:s.scrollLeft),l=r("vertical"===e?s.clientHeight:s.clientWidth),c=o-t,f=o+l+t;i.value={start:c<0?0:c,end:f>u.value.length?u.value.length:f},a.value=u.value.slice(i.value.start,i.value.end).map(((e,t)=>({data:e,index:t+i.value.start})))}}}function lo(e,t){return n=>"number"==typeof e?n*e:t.value.slice(0,n).reduce(((t,n,r)=>t+e(r)),0)}function co(e,t,n){o.watch([e.width,e.height,t],(()=>{n()}))}function fo(e,t){return o.computed((()=>"number"==typeof e?t.value.length*e:t.value.reduce(((t,n,r)=>t+e(r)),0)))}const po={horizontal:"scrollLeft",vertical:"scrollTop"};function vo(e,t,n,r){return o=>{r.value&&(r.value[po[e]]=n(o),t())}}const ho="ping";function mo(e){return!0===e?{}:e}function go(e){return t=>{const n=t.data[0];return Promise.resolve(e.apply(void 0,n)).then((e=>{postMessage(["SUCCESS",e])})).catch((e=>{postMessage(["ERROR",e])}))}}function yo(e,t){const n=`${function(e){return 0===e.length?"":`importScripts(${e.map((e=>`'${e}'`)).toString()})`}(t)}; onmessage=(${go})(${e})`,r=new Blob([n],{type:"text/javascript"});return URL.createObjectURL(r)}t.DefaultMagicKeysAliasMap=En,t.StorageSerializers=ge,t.TransitionPresets=eo,t.asyncComputed=i,t.breakpointsAntDesign={xs:480,sm:576,md:768,lg:992,xl:1200,xxl:1600},t.breakpointsBootstrapV5={sm:576,md:768,lg:992,xl:1200,xxl:1400},t.breakpointsMasterCss={"3xs":360,"2xs":480,xs:600,sm:768,md:1024,lg:1280,xl:1440,"2xl":1600,"3xl":1920,"4xl":2560},t.breakpointsQuasar={xs:600,sm:1024,md:1440,lg:1920},t.breakpointsSematic={mobileS:320,mobileM:375,mobileL:425,tablet:768,laptop:1024,laptopL:1440,desktop4K:2560},t.breakpointsTailwind={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},t.breakpointsVuetify={xs:600,sm:960,md:1264,lg:1904},t.cloneFnJSON=oe,t.computedAsync=i,t.computedInject=function(e,t,n,r){let i=o.inject(e);return n&&(i=o.inject(e,n)),r&&(i=o.inject(e,n,r)),"function"==typeof t?o.computed((e=>t(i,e))):o.computed({get:e=>t.get(i,e),set:t.set})},t.createFetch=function(e={}){const t=e.combination||"chain",n=e.options||{},i=e.fetchOptions||{};return function(a,...u){const s=o.computed((()=>{const t=r.toValue(e.baseUrl),n=r.toValue(a);return t&&!function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}(n)?(i=n,(o=t).endsWith("/")||i.startsWith("/")?`${o}${i}`:`${o}/${i}`):n;var o,i}));let l=n,c=i;return u.length>0&&(Ut(u[0])?l=Mt(It(It({},l),u[0]),{beforeFetch:Ht(t,n.beforeFetch,u[0].beforeFetch),afterFetch:Ht(t,n.afterFetch,u[0].afterFetch),onFetchError:Ht(t,n.onFetchError,u[0].onFetchError)}):c=Mt(It(It({},c),u[0]),{headers:It(It({},zt(c.headers)||{}),zt(u[0].headers)||{})})),u.length>1&&Ut(u[1])&&(l=Mt(It(It({},l),u[1]),{beforeFetch:Ht(t,n.beforeFetch,u[1].beforeFetch),afterFetch:Ht(t,n.afterFetch,u[1].afterFetch),onFetchError:Ht(t,n.onFetchError,u[1].onFetchError)})),Wt(s,c,l)}},t.createReusableTemplate=function(){if(!o.isVue3&&!o.version.startsWith("2.7."))return;const e=o.shallowRef(),t=o.defineComponent({setup:(t,{slots:n})=>()=>{e.value=n.default}}),n=o.defineComponent({inheritAttrs:!1,setup:(t,{attrs:n,slots:r})=>()=>{var t,o;return e.value,null==(t=e.value)?void 0:t.call(e,(o=((e,t)=>{for(var n in t||(t={}))c.call(t,n)&&d(e,n,t[n]);if(l)for(var n of l(t))f.call(t,n)&&d(e,n,t[n]);return e})({},n),u(o,s({$slots:r}))))}});return r.makeDestructurable({define:t,reuse:n},[t,n])},t.createTemplatePromise=function(e={}){if(!o.isVue3)return;let t=0;const n=o.ref([]),r=o.defineComponent(((t,{slots:r})=>{const i=()=>n.value.map((e=>{var t;return o.h(o.Fragment,{key:e.key},null==(t=r.default)?void 0:t.call(r,e))}));return e.transition?()=>o.h(o.TransitionGroup,e.transition,i):i}));return r.start=function(...r){return e.singleton&&n.value.length>0?n.value[0].promise:function(...r){const i=o.shallowReactive({key:t++,args:r,promise:void 0,resolve:()=>{},reject:()=>{},isResolving:!1,options:e});return n.value.push(i),i.promise=new Promise(((e,t)=>{i.resolve=t=>(i.isResolving=!0,e(t)),i.reject=t})).finally((()=>{i.promise=void 0;const e=n.value.indexOf(i);-1!==e&&n.value.splice(e,1)})),i.promise}(...r)},r},t.createUnrefFn=function(e){return function(...t){return e.apply(this,t.map((e=>r.toValue(e))))}},t.customStorageEventName=ye,t.defaultDocument=h,t.defaultLocation=g,t.defaultNavigator=m,t.defaultWindow=v,t.executeTransition=ro,t.formatTimeAgo=Mr,t.getSSRHandler=le,t.mapGamepadToXbox360Controller=function(e){return o.computed((()=>e.value?{buttons:{a:e.value.buttons[0],b:e.value.buttons[1],x:e.value.buttons[2],y:e.value.buttons[3]},bumper:{left:e.value.buttons[4],right:e.value.buttons[5]},triggers:{left:e.value.buttons[6],right:e.value.buttons[7]},stick:{left:{horizontal:e.value.axes[0],vertical:e.value.axes[1],button:e.value.buttons[10]},right:{horizontal:e.value.axes[2],vertical:e.value.axes[3],button:e.value.buttons[11]}},dpad:{up:e.value.buttons[12],down:e.value.buttons[13],left:e.value.buttons[14],right:e.value.buttons[15]},back:e.value.buttons[8],start:e.value.buttons[9]}:null))},t.onClickOutside=function(e,t,n={}){const{window:o=v,ignore:i=[],capture:a=!0,detectIframe:u=!1}=n;if(!o)return;r.isIOS&&!b&&(b=!0,Array.from(o.document.body.children).forEach((e=>e.addEventListener("click",r.noop))));let s=!0;const l=e=>i.some((t=>{if("string"==typeof t)return Array.from(o.document.querySelectorAll(t)).some((t=>t===e.target||e.composedPath().includes(t)));{const n=p(t);return n&&(e.target===n||e.composedPath().includes(n))}})),c=[y(o,"click",(n=>{const r=p(e);r&&r!==n.target&&!n.composedPath().includes(r)&&(0===n.detail&&(s=!l(n)),s?t(n):s=!0)}),{passive:!0,capture:a}),y(o,"pointerdown",(t=>{const n=p(e);n&&(s=!t.composedPath().includes(n)&&!l(t))}),{passive:!0}),u&&y(o,"blur",(n=>{var r;const i=p(e);"IFRAME"!==(null==(r=o.document.activeElement)?void 0:r.tagName)||(null==i?void 0:i.contains(o.document.activeElement))||t(n)}))].filter(Boolean);return()=>c.forEach((e=>e()))},t.onKeyDown=function(e,t,n={}){return x(e,t,P(F({},n),{eventName:"keydown"}))},t.onKeyPressed=function(e,t,n={}){return x(e,t,P(F({},n),{eventName:"keypress"}))},t.onKeyStroke=x,t.onKeyUp=function(e,t,n={}){return x(e,t,P(F({},n),{eventName:"keyup"}))},t.onLongPress=function(e,t,n){var r,i;const a=o.computed((()=>p(e)));let u;function s(){u&&(clearTimeout(u),u=void 0)}const l={capture:null==(r=null==n?void 0:n.modifiers)?void 0:r.capture,once:null==(i=null==n?void 0:n.modifiers)?void 0:i.once};y(a,"pointerdown",(function(e){var r,o,i,l;(null==(r=null==n?void 0:n.modifiers)?void 0:r.self)&&e.target!==a.value||(s(),(null==(o=null==n?void 0:n.modifiers)?void 0:o.prevent)&&e.preventDefault(),(null==(i=null==n?void 0:n.modifiers)?void 0:i.stop)&&e.stopPropagation(),u=setTimeout((()=>t(e)),null!=(l=null==n?void 0:n.delay)?l:500))}),l),y(a,"pointerup",s,l),y(a,"pointerleave",s,l)},t.onStartTyping=function(e,t={}){const{document:n=h}=t;n&&y(n,"keydown",(t=>{!function(){const{activeElement:e,body:t}=document;if(!e)return!1;if(e===t)return!1;switch(e.tagName){case"INPUT":case"TEXTAREA":return!0}return e.hasAttribute("contenteditable")}()&&function({keyCode:e,metaKey:t,ctrlKey:n,altKey:r}){return!(t||n||r)&&(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)}(t)&&e(t)}),{passive:!0})},t.setSSRHandler=function(e,t){ue[e]=t},t.templateRef=function(e,t=null){const n=o.getCurrentInstance();let i=()=>{};const a=o.customRef(((r,o)=>(i=o,{get(){var o,i;return r(),null!=(i=null==(o=null==n?void 0:n.proxy)?void 0:o.$refs[e])?i:t},set(){}})));return r.tryOnMounted(i),o.onUpdated(i),a},t.unrefElement=p,t.useActiveElement=j,t.useAnimate=function(e,t,n){let i,a;r.isObject(n)?(i=n,a=r.objectOmit(n,["window","immediate","commitStyles","persist","onReady","onError"])):(i={duration:n},a=n);const{window:u=v,immediate:s=!0,commitStyles:l,persist:c,playbackRate:f=1,onReady:d,onError:h=(e=>{console.error(e)})}=i,m=T((()=>u&&HTMLElement&&"animate"in HTMLElement.prototype)),g=o.shallowRef(void 0),b=o.shallowReactive({startTime:null,currentTime:null,timeline:null,playbackRate:f,pending:!1,playState:s?"idle":"paused",replaceState:"active"}),w=o.computed((()=>b.pending)),D=o.computed((()=>b.playState)),O=o.computed((()=>b.replaceState)),E=o.computed({get:()=>b.startTime,set(e){b.startTime=e,g.value&&(g.value.startTime=e)}}),C=o.computed({get:()=>b.currentTime,set(e){b.currentTime=e,g.value&&(g.value.currentTime=e,k())}}),S=o.computed({get:()=>b.timeline,set(e){b.timeline=e,g.value&&(g.value.timeline=e)}}),A=o.computed({get:()=>b.playbackRate,set(e){b.playbackRate=e,g.value&&(g.value.playbackRate=e)}}),F=()=>{var e;try{null==(e=g.value)||e.cancel(),B()}catch(e){h(e)}};function P(n){const o=p(e);m.value&&o&&(g.value=o.animate(r.toValue(t),a),l&&g.value.commitStyles(),c&&g.value.persist(),1!==f&&(g.value.playbackRate=f),n&&!s?g.value.pause():k(),null==d||d(g.value))}o.watch((()=>p(e)),(e=>{e&&P()})),o.watch((()=>t),(t=>{!g.value&&P(),!p(e)&&g.value&&(g.value.effect=new KeyframeEffect(p(e),r.toValue(t),a))}),{deep:!0}),r.tryOnMounted((()=>{o.nextTick((()=>P(!0)))})),r.tryOnScopeDispose(F),y(g,"cancel",B),y(g,"finish",B),y(g,"remove",B);const{resume:x,pause:j}=R((()=>{g.value&&(b.pending=g.value.pending,b.playState=g.value.playState,b.replaceState=g.value.replaceState,b.startTime=g.value.startTime,b.currentTime=g.value.currentTime,b.timeline=g.value.timeline,b.playbackRate=g.value.playbackRate)}),{immediate:!1});function k(){m.value&&x()}function B(){m.value&&u&&u.requestAnimationFrame(j)}return{isSupported:m,animate:g,play:()=>{if(g.value)try{g.value.play(),k()}catch(e){B(),h(e)}else P()},pause:()=>{var e;try{null==(e=g.value)||e.pause(),B()}catch(e){h(e)}},reverse:()=>{var e;!g.value&&P();try{null==(e=g.value)||e.reverse(),k()}catch(e){B(),h(e)}},finish:()=>{var e;try{null==(e=g.value)||e.finish(),B()}catch(e){h(e)}},cancel:F,pending:w,playState:D,replaceState:O,startTime:E,currentTime:C,timeline:S,playbackRate:A}},t.useAsyncQueue=function(e,t={}){const{interrupt:n=!0,onError:i=r.noop,onFinished:a=r.noop}=t,u="rejected",s=Array.from(new Array(e.length),(()=>({state:"pending",data:null}))),l=o.reactive(s),c=o.ref(-1);if(!e||0===e.length)return a(),{activeIndex:c,result:l};function f(e,t){c.value++,l[c.value].data=t,l[c.value].state=e}return e.reduce(((t,r)=>t.then((t=>{var o;if((null==(o=l[c.value])?void 0:o.state)!==u||!n)return r(t).then((t=>(f("fulfilled",t),c.value===e.length-1&&a(),t)));a()})).catch((e=>(f(u,e),i(),e)))),Promise.resolve()),{activeIndex:c,result:l}},t.useAsyncState=V,t.useBase64=function(e,t){const n=o.ref(""),i=o.ref();function a(){if(r.isClient)return i.value=new Promise(((n,o)=>{try{const i=r.toValue(e);if(null==i)n("");else if("string"==typeof i)n(z(new Blob([i],{type:"text/plain"})));else if(i instanceof Blob)n(z(i));else if(i instanceof ArrayBuffer)n(window.btoa(String.fromCharCode(...new Uint8Array(i))));else if(i instanceof HTMLCanvasElement)n(i.toDataURL(null==t?void 0:t.type,null==t?void 0:t.quality));else if(i instanceof HTMLImageElement){const e=i.cloneNode(!1);e.crossOrigin="Anonymous",function(e){return new Promise(((t,n)=>{e.complete?t():(e.onload=()=>{t()},e.onerror=n)}))}(e).then((()=>{const r=document.createElement("canvas"),o=r.getContext("2d");r.width=e.width,r.height=e.height,o.drawImage(e,0,0,r.width,r.height),n(r.toDataURL(null==t?void 0:t.type,null==t?void 0:t.quality))})).catch(o)}else{if("object"==typeof i){const e=(null==t?void 0:t.serializer)||function(e){return e?e instanceof Map?U.map:e instanceof Set?U.set:Array.isArray(e)?U.array:U.object:U.null}(i),r=e(i);return n(z(new Blob([r],{type:"application/json"})))}o(new Error("target is unsupported types"))}}catch(e){o(e)}})),i.value.then((e=>n.value=e)),i.value}return o.isRef(e)||"function"==typeof e?o.watch(e,a,{immediate:!0}):a(),{base64:n,promise:i,execute:a}},t.useBattery=function({navigator:e=m}={}){const t=["chargingchange","chargingtimechange","dischargingtimechange","levelchange"],n=T((()=>e&&"getBattery"in e)),r=o.ref(!1),i=o.ref(0),a=o.ref(0),u=o.ref(1);let s;function l(){r.value=this.charging,i.value=this.chargingTime||0,a.value=this.dischargingTime||0,u.value=this.level}return n.value&&e.getBattery().then((e=>{s=e,l.call(s);for(const e of t)y(s,e,l,{passive:!0})})),{isSupported:n,charging:r,chargingTime:i,dischargingTime:a,level:u}},t.useBluetooth=function(e){let{acceptAllDevices:t=!1}=e||{};const{filters:n,optionalServices:i,navigator:a=m}=e||{},u=T((()=>a&&"bluetooth"in a)),s=o.shallowRef(void 0),l=o.shallowRef(null);o.watch(s,(()=>{!async function(){if(l.value=null,s.value&&s.value.gatt){s.value.addEventListener("gattserverdisconnected",(()=>{}));try{c.value=await s.value.gatt.connect()}catch(e){l.value=e}}}()}));const c=o.ref(),f=o.computed((()=>{var e;return(null==(e=c.value)?void 0:e.connected)||!1}));return r.tryOnMounted((()=>{var e;s.value&&(null==(e=s.value.gatt)||e.connect())})),r.tryOnScopeDispose((()=>{var e;s.value&&(null==(e=s.value.gatt)||e.disconnect())})),{isSupported:u,isConnected:f,device:s,requestDevice:async function(){if(u.value){l.value=null,n&&n.length>0&&(t=!1);try{s.value=await(null==a?void 0:a.bluetooth.requestDevice({acceptAllDevices:t,filters:n,optionalServices:i}))}catch(e){l.value=e}}},server:c,error:l}},t.useBreakpoints=function(e,t={}){function n(t,n){let o=e[t];return null!=n&&(o=r.increaseWithUnit(o,n)),"number"==typeof o&&(o=`${o}px`),o}const{window:i=v}=t;function a(e){return!!i&&i.matchMedia(e).matches}const u=e=>H(`(min-width: ${n(e)})`,t),s=Object.keys(e).reduce(((e,t)=>(Object.defineProperty(e,t,{get:()=>u(t),enumerable:!0,configurable:!0}),e)),{});return Object.assign(s,{greater:e=>H(`(min-width: ${n(e,.1)})`,t),greaterOrEqual:u,smaller:e=>H(`(max-width: ${n(e,-.1)})`,t),smallerOrEqual:e=>H(`(max-width: ${n(e)})`,t),between:(e,r)=>H(`(min-width: ${n(e)}) and (max-width: ${n(r,-.1)})`,t),isGreater:e=>a(`(min-width: ${n(e,.1)})`),isGreaterOrEqual:e=>a(`(min-width: ${n(e)})`),isSmaller:e=>a(`(max-width: ${n(e,-.1)})`),isSmallerOrEqual:e=>a(`(max-width: ${n(e)})`),isInBetween:(e,t)=>a(`(min-width: ${n(e)}) and (max-width: ${n(t,-.1)})`),current(){const t=Object.keys(e).map((e=>[e,u(e)]));return o.computed((()=>t.filter((([,e])=>e.value)).map((([e])=>e))))}})},t.useBroadcastChannel=function(e){const{name:t,window:n=v}=e,i=T((()=>n&&"BroadcastChannel"in n)),a=o.ref(!1),u=o.ref(),s=o.ref(),l=o.shallowRef(null),c=()=>{u.value&&u.value.close(),a.value=!0};return i.value&&r.tryOnMounted((()=>{l.value=null,u.value=new BroadcastChannel(t),u.value.addEventListener("message",(e=>{s.value=e.data}),{passive:!0}),u.value.addEventListener("messageerror",(e=>{l.value=e}),{passive:!0}),u.value.addEventListener("close",(()=>{a.value=!0}))})),r.tryOnScopeDispose((()=>{c()})),{isSupported:i,channel:u,data:s,post:e=>{u.value&&u.value.postMessage(e)},close:c,error:l,isClosed:a}},t.useBrowserLocation=function({window:e=v}={}){const t=Object.fromEntries(J.map((e=>[e,o.ref()])));for(const[n,i]of r.objectEntries(t))o.watch(i,(t=>{(null==e?void 0:e.location)&&e.location[n]!==t&&(e.location[n]=t)}));const n=n=>{var r;const{state:i,length:a}=(null==e?void 0:e.history)||{},{origin:u}=(null==e?void 0:e.location)||{};for(const n of J)t[n].value=null==(r=null==e?void 0:e.location)?void 0:r[n];return o.reactive(((e,t)=>{for(var n in t||(t={}))G.call(t,n)&&Y(e,n,t[n]);if(q)for(var n of q(t))K.call(t,n)&&Y(e,n,t[n]);return e})({trigger:n,state:i,length:a,origin:u},t))},i=o.ref(n("load"));return e&&(y(e,"popstate",(()=>i.value=n("popstate")),{passive:!0}),y(e,"hashchange",(()=>i.value=n("hashchange")),{passive:!0})),i},t.useCached=function(e,t=((e,t)=>e===t),n){const r=o.ref(e.value);return o.watch((()=>e.value),(e=>{t(e,r.value)||(r.value=e)}),n),r},t.useClipboard=function(e={}){const{navigator:t=m,read:n=!1,source:i,copiedDuring:a=1500,legacy:u=!1}=e,s=["copy","cut"],l=T((()=>t&&"clipboard"in t)),c=o.computed((()=>l.value||u)),f=o.ref(""),d=o.ref(!1),p=r.useTimeoutFn((()=>d.value=!1),a);function v(){var e,n,r;l.value?t.clipboard.readText().then((e=>{f.value=e})):f.value=null!=(r=null==(n=null==(e=null==document?void 0:document.getSelection)?void 0:e.call(document))?void 0:n.toString())?r:""}if(c.value&&n)for(const e of s)y(e,v);return{isSupported:c,text:f,copied:d,copy:async function(e=r.toValue(i)){c.value&&null!=e&&(l.value?await t.clipboard.writeText(e):function(e){const t=document.createElement("textarea");t.value=null!=e?e:"",t.style.position="absolute",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove()}(e),f.value=e,d.value=!0,p.start())}}},t.useCloned=function(e,t={}){const n=o.ref({}),{manual:i,clone:a=oe,deep:u=!0,immediate:s=!0}=t;function l(){n.value=a(r.toValue(e))}var c;return!i&&o.isRef(e)?o.watch(e,l,(c=((e,t)=>{for(var n in t||(t={}))te.call(t,n)&&re(e,n,t[n]);if(ee)for(var n of ee(t))ne.call(t,n)&&re(e,n,t[n]);return e})({},t),Q(c,Z({deep:u,immediate:s})))):l(),{cloned:n,sync:l}},t.useColorMode=Ae,t.useConfirmDialog=function(e=o.ref(!1)){const t=r.createEventHook(),n=r.createEventHook(),i=r.createEventHook();let a=r.noop;return{isRevealed:o.computed((()=>e.value)),reveal:t=>(i.trigger(t),e.value=!0,new Promise((e=>{a=e}))),confirm:n=>{e.value=!1,t.trigger(n),a({data:n,isCanceled:!1})},cancel:t=>{e.value=!1,n.trigger(t),a({data:t,isCanceled:!0})},onReveal:i.on,onConfirm:t.on,onCancel:n.on}},t.useCssVar=Te,t.useCurrentElement=Re,t.useCycleList=function(e,t){const n=o.shallowRef(null!=(a=r.toValue(null!=(i=null==t?void 0:t.initialValue)?i:r.toValue(e)[0]))?a:void 0);var i,a;const u=r.toRef(e),s=o.computed({get(){var e;const r=u.value;let o=(null==t?void 0:t.getIndexOf)?t.getIndexOf(n.value,r):r.indexOf(n.value);return o<0&&(o=null!=(e=null==t?void 0:t.fallbackIndex)?e:0),o},set(e){l(e)}});function l(e){const t=u.value,r=t.length,o=t[(e%r+r)%r];return n.value=o,o}function c(e=1){return l(s.value+e)}return o.watch(u,(()=>l(s.value))),{state:n,index:s,next:function(e=1){return c(e)},prev:function(e=1){return c(-e)}}},t.useDark=function(e={}){const{valueDark:t="dark",valueLight:n=""}=e,r=Ae((i=((e,t)=>{for(var n in t||(t={}))$e.call(t,n)&&Me(e,n,t[n]);if(Le)for(var n of Le(t))Ie.call(t,n)&&Me(e,n,t[n]);return e})({},e),_e(i,Ne({onChanged:(t,n)=>{var r;e.onChanged?null==(r=e.onChanged)||r.call(e,"dark"===t,n,t):n(t)},modes:{dark:t,light:n}}))));var i;return o.computed({get:()=>"dark"===r.value,set(e){const t=e?"dark":"light";r.system.value===t?r.value="auto":r.value=t}})},t.useDebouncedRefHistory=function(e,t={}){const n=t.debounce?r.debounceFilter(t.debounce):void 0,o=tt(e,(i=lt({},t),rt(i,ot({eventFilter:n}))));var i;return lt({},o)},t.useDeviceMotion=function(e={}){const{window:t=v,eventFilter:n=r.bypassFilter}=e,i=o.ref({x:null,y:null,z:null}),a=o.ref({alpha:null,beta:null,gamma:null}),u=o.ref(0),s=o.ref({x:null,y:null,z:null});return t&&y(t,"devicemotion",r.createFilterWrapper(n,(e=>{i.value=e.acceleration,s.value=e.accelerationIncludingGravity,a.value=e.rotationRate,u.value=e.interval}))),{acceleration:i,accelerationIncludingGravity:s,rotationRate:a,interval:u}},t.useDeviceOrientation=ct,t.useDevicePixelRatio=function({window:e=v}={}){const t=o.ref(1);if(e){let n,o=function(){t.value=e.devicePixelRatio,i(),n=e.matchMedia(`(resolution: ${t.value}dppx)`),n.addEventListener("change",o,{once:!0})},i=function(){null==n||n.removeEventListener("change",o)};o(),r.tryOnScopeDispose(i)}return{pixelRatio:t}},t.useDevicesList=function(e={}){const{navigator:t=m,requestPermissions:n=!1,constraints:r={audio:!0,video:!0},onUpdated:i}=e,a=o.ref([]),u=o.computed((()=>a.value.filter((e=>"videoinput"===e.kind)))),s=o.computed((()=>a.value.filter((e=>"audioinput"===e.kind)))),l=o.computed((()=>a.value.filter((e=>"audiooutput"===e.kind)))),c=T((()=>t&&t.mediaDevices&&t.mediaDevices.enumerateDevices)),f=o.ref(!1);let d;async function p(){c.value&&(a.value=await t.mediaDevices.enumerateDevices(),null==i||i(a.value),d&&(d.getTracks().forEach((e=>e.stop())),d=null))}async function v(){if(!c.value)return!1;if(f.value)return!0;const{state:e,query:n}=ft("camera",{controls:!0});return await n(),"granted"!==e.value?(d=await t.mediaDevices.getUserMedia(r),p(),f.value=!0):f.value=!0,f.value}return c.value&&(n&&v(),y(t.mediaDevices,"devicechange",p),p()),{devices:a,ensurePermissions:v,permissionGranted:f,videoInputs:u,audioInputs:s,audioOutputs:l,isSupported:c}},t.useDisplayMedia=function(e={}){var t;const n=o.ref(null!=(t=e.enabled)&&t),r=e.video,i=e.audio,{navigator:a=m}=e,u=T((()=>{var e;return null==(e=null==a?void 0:a.mediaDevices)?void 0:e.getDisplayMedia})),s={audio:i,video:r},l=o.shallowRef();async function c(){if(u.value&&!l.value)return l.value=await a.mediaDevices.getDisplayMedia(s),l.value}async function f(){var e;null==(e=l.value)||e.getTracks().forEach((e=>e.stop())),l.value=void 0}return o.watch(n,(e=>{e?c():f()}),{immediate:!0}),{isSupported:u,stream:l,start:async function(){return await c(),l.value&&(n.value=!0),l.value},stop:function(){f(),n.value=!1},enabled:n}},t.useDocumentVisibility=function({document:e=h}={}){if(!e)return o.ref("visible");const t=o.ref(e.visibilityState);return y(e,"visibilitychange",(()=>{t.value=e.visibilityState})),t},t.useDraggable=function(e,t={}){var n,i;const{pointerTypes:a,preventDefault:u,stopPropagation:s,exact:l,onMove:c,onEnd:f,onStart:d,initialValue:p,axis:h="both",draggingElement:m=v,handle:g=e}=t,b=o.ref(null!=(n=r.toValue(p))?n:{x:0,y:0}),w=o.ref(),D=e=>!a||a.includes(e.pointerType),O=e=>{r.toValue(u)&&e.preventDefault(),r.toValue(s)&&e.stopPropagation()},E=t=>{if(!D(t))return;if(r.toValue(l)&&t.target!==r.toValue(e))return;const n=r.toValue(e).getBoundingClientRect(),o={x:t.clientX-n.left,y:t.clientY-n.top};!1!==(null==d?void 0:d(o,t))&&(w.value=o,O(t))},C=e=>{if(!D(e))return;if(!w.value)return;let{x:t,y:n}=b.value;"x"!==h&&"both"!==h||(t=e.clientX-w.value.x),"y"!==h&&"both"!==h||(n=e.clientY-w.value.y),b.value={x:t,y:n},null==c||c(b.value,e),O(e)},S=e=>{D(e)&&w.value&&(w.value=void 0,null==f||f(b.value,e),O(e))};if(r.isClient){const e={capture:null==(i=t.capture)||i};y(g,"pointerdown",E,e),y(m,"pointermove",C,e),y(m,"pointerup",S,e)}return A=((e,t)=>{for(var n in t||(t={}))mt.call(t,n)&&yt(e,n,t[n]);if(ht)for(var n of ht(t))gt.call(t,n)&&yt(e,n,t[n]);return e})({},r.toRefs(b)),F={position:b,isDragging:o.computed((()=>!!w.value)),style:o.computed((()=>`left:${b.value.x}px;top:${b.value.y}px;`))},pt(A,vt(F));var A,F},t.useDropZone=function(e,t){const n=o.ref(!1);let i=0;return r.isClient&&(y(e,"dragenter",(e=>{e.preventDefault(),i+=1,n.value=!0})),y(e,"dragover",(e=>{e.preventDefault()})),y(e,"dragleave",(e=>{e.preventDefault(),i-=1,0===i&&(n.value=!1)})),y(e,"drop",(e=>{var r,o;e.preventDefault(),i=0,n.value=!1;const a=Array.from(null!=(o=null==(r=e.dataTransfer)?void 0:r.files)?o:[]);null==t||t(0===a.length?null:a)}))),{isOverDropZone:n}},t.useElementBounding=function(e,t={}){const{reset:n=!0,windowResize:i=!0,windowScroll:a=!0,immediate:u=!0}=t,s=o.ref(0),l=o.ref(0),c=o.ref(0),f=o.ref(0),d=o.ref(0),v=o.ref(0),h=o.ref(0),m=o.ref(0);function g(){const t=p(e);if(!t)return void(n&&(s.value=0,l.value=0,c.value=0,f.value=0,d.value=0,v.value=0,h.value=0,m.value=0));const r=t.getBoundingClientRect();s.value=r.height,l.value=r.bottom,c.value=r.left,f.value=r.right,d.value=r.top,v.value=r.width,h.value=r.x,m.value=r.y}return Et(e,g),o.watch((()=>p(e)),(e=>!e&&g())),a&&y("scroll",g,{capture:!0,passive:!0}),i&&y("resize",g,{passive:!0}),r.tryOnMounted((()=>{u&&g()})),{height:s,bottom:l,left:c,right:f,top:d,width:v,x:h,y:m,update:g}},t.useElementByPoint=function(e){const t=o.ref(null),{x:n,y:i,document:a=h}=e,u=R((()=>{t.value=(null==a?void 0:a.elementFromPoint(r.toValue(n),r.toValue(i)))||null}));return((e,t)=>{for(var n in t||(t={}))At.call(t,n)&&Pt(e,n,t[n]);if(St)for(var n of St(t))Ft.call(t,n)&&Pt(e,n,t[n]);return e})({element:t},u)},t.useElementHover=function(e,t={}){const{delayEnter:n=0,delayLeave:r=0,window:i=v}=t,a=o.ref(!1);let u;const s=e=>{const t=e?n:r;u&&(clearTimeout(u),u=void 0),t?u=setTimeout((()=>a.value=e),t):a.value=e};return i?(y(e,"mouseenter",(()=>s(!0)),{passive:!0}),y(e,"mouseleave",(()=>s(!1)),{passive:!0}),a):a},t.useElementSize=xt,t.useElementVisibility=function(e,{window:t=v,scrollTarget:n}={}){const r=o.ref(!1);return jt(e,(([{isIntersecting:e}])=>{r.value=e}),{root:n,window:t}),r},t.useEventBus=function(e){const t=o.getCurrentScope();function n(n){var o;const i=kt.get(e)||new Set;i.add(n),kt.set(e,i);const a=()=>r(n);return null==(o=null==t?void 0:t.cleanups)||o.push(a),a}function r(t){const n=kt.get(e);n&&(n.delete(t),n.size||i())}function i(){kt.delete(e)}return{on:n,once:function(e){return n((function t(...n){r(t),e(...n)}))},off:r,emit:function(t,n){var r;null==(r=kt.get(e))||r.forEach((e=>e(t,n)))},reset:i}},t.useEventListener=y,t.useEventSource=function(e,t=[],n={}){const i=o.ref(null),a=o.ref(null),u=o.ref("CONNECTING"),s=o.ref(null),l=o.shallowRef(null),{withCredentials:c=!1}=n,f=()=>{s.value&&(s.value.close(),s.value=null,u.value="CLOSED")},d=new EventSource(e,{withCredentials:c});s.value=d,d.onopen=()=>{u.value="OPEN",l.value=null},d.onerror=e=>{u.value="CLOSED",l.value=e},d.onmessage=e=>{i.value=null,a.value=e.data};for(const e of t)y(d,e,(t=>{i.value=e,a.value=t.data||null}));return r.tryOnScopeDispose((()=>{f()})),{eventSource:s,event:i,data:a,status:u,error:l,close:f}},t.useEyeDropper=function(e={}){const{initialValue:t=""}=e,n=T((()=>"undefined"!=typeof window&&"EyeDropper"in window)),r=o.ref(t);return{isSupported:n,sRGBHex:r,open:async function(e){if(!n.value)return;const t=new window.EyeDropper,o=await t.open(e);return r.value=o.sRGBHex,o}}},t.useFavicon=function(e=null,t={}){const{baseUrl:n="",rel:i="icon",document:a=h}=t,u=r.toRef(e);return o.watch(u,((e,t)=>{var r;"string"==typeof e&&e!==t&&(r=e,null==a||a.head.querySelectorAll(`link[rel*="${i}"]`).forEach((e=>e.href=`${n}${r}`)))}),{immediate:!0}),u},t.useFetch=Wt,t.useFileDialog=function(e={}){const{document:t=h}=e,n=o.ref(null),{on:i,trigger:a}=r.createEventHook();let u;return t&&(u=t.createElement("input"),u.type="file",u.onchange=e=>{const t=e.target;n.value=t.files,a(n.value)}),{files:o.readonly(n),open:t=>{if(!u)return;const n=Xt(Xt(Xt({},Qt),e),t);u.multiple=n.multiple,u.accept=n.accept,r.hasOwn(n,"capture")&&(u.capture=n.capture),u.click()},reset:()=>{n.value=null,u&&(u.value="")},onChange:i}},t.useFileSystemAccess=function(e={}){const{window:t=v,dataType:n="Text"}=e,i=t,a=T((()=>i&&"showSaveFilePicker"in i&&"showOpenFilePicker"in i)),u=o.ref(),s=o.ref(),l=o.ref(),c=o.computed((()=>{var e,t;return null!=(t=null==(e=l.value)?void 0:e.name)?t:""})),f=o.computed((()=>{var e,t;return null!=(t=null==(e=l.value)?void 0:e.type)?t:""})),d=o.computed((()=>{var e,t;return null!=(t=null==(e=l.value)?void 0:e.size)?t:0})),p=o.computed((()=>{var e,t;return null!=(t=null==(e=l.value)?void 0:e.lastModified)?t:0}));async function h(t={}){if(a.value){if(u.value=await i.showSaveFilePicker(on(on({},e),t)),s.value){const e=await u.value.createWritable();await e.write(s.value),await e.close()}await m()}}async function m(){var e;l.value=await(null==(e=u.value)?void 0:e.getFile())}async function g(){var e,t;const o=r.toValue(n);"Text"===o?s.value=await(null==(e=l.value)?void 0:e.text()):"ArrayBuffer"===o?s.value=await(null==(t=l.value)?void 0:t.arrayBuffer()):"Blob"===o&&(s.value=l.value)}return o.watch((()=>r.toValue(n)),g),{isSupported:a,data:s,file:l,fileName:c,fileMIME:f,fileSize:d,fileLastModified:p,open:async function(t={}){if(!a.value)return;const[n]=await i.showOpenFilePicker(on(on({},r.toValue(e)),t));u.value=n,await m(),await g()},create:async function(t={}){a.value&&(u.value=await i.showSaveFilePicker(on(on({},e),t)),s.value=void 0,await m(),await g())},save:async function(e={}){if(a.value){if(!u.value)return h(e);if(s.value){const e=await u.value.createWritable();await e.write(s.value),await e.close()}await m()}},saveAs:h,updateData:g}},t.useFocus=function(e,t={}){const{initialValue:n=!1}=t,r=o.ref(!1),i=o.computed((()=>p(e)));y(i,"focus",(()=>r.value=!0)),y(i,"blur",(()=>r.value=!1));const a=o.computed({get:()=>r.value,set(e){var t,n;!e&&r.value?null==(t=i.value)||t.blur():e&&!r.value&&(null==(n=i.value)||n.focus())}});return o.watch(i,(()=>{a.value=n}),{immediate:!0,flush:"post"}),{focused:a}},t.useFocusWithin=function(e,t={}){const n=j(t),r=o.computed((()=>p(e)));return{focused:o.computed((()=>!(!r.value||!n.value)&&r.value.contains(n.value)))}},t.useFps=function(e){var t;const n=o.ref(0);if("undefined"==typeof performance)return n;const r=null!=(t=null==e?void 0:e.every)?t:10;let i=performance.now(),a=0;return R((()=>{if(a+=1,a>=r){const e=performance.now(),t=e-i;n.value=Math.round(1e3/(t/a)),i=e,a=0}})),n},t.useFullscreen=function(e,t={}){const{document:n=h,autoExit:i=!1}=t,a=o.computed((()=>{var t;return null!=(t=p(e))?t:null==n?void 0:n.querySelector("html")})),u=o.ref(!1),s=o.computed((()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find((e=>n&&e in n||a.value&&e in a.value)))),l=o.computed((()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find((e=>n&&e in n||a.value&&e in a.value)))),c=o.computed((()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find((e=>n&&e in n||a.value&&e in a.value)))),f=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find((e=>n&&e in n)),d=T((()=>a.value&&n&&void 0!==s.value&&void 0!==l.value&&void 0!==c.value)),v=()=>{if(c.value){if(n&&null!=n[c.value])return n[c.value];{const e=a.value;if(null!=(null==e?void 0:e[c.value]))return Boolean(e[c.value])}}return!1};async function m(){if(d.value){if(l.value)if(null!=(null==n?void 0:n[l.value]))await n[l.value]();else{const e=a.value;null!=(null==e?void 0:e[l.value])&&await e[l.value]()}u.value=!1}}async function g(){if(!d.value)return;v()&&await m();const e=a.value;s.value&&null!=(null==e?void 0:e[s.value])&&(await e[s.value](),u.value=!0)}const b=()=>{const e=v();(!e||e&&f&&(null==n?void 0:n[f])===a.value)&&(u.value=e)};return y(n,an,b,!1),y((()=>p(a)),an,b,!1),i&&r.tryOnScopeDispose(m),{isSupported:d,isFullscreen:u,enter:g,exit:m,toggle:async function(){await(u.value?m():g())}}},t.useGamepad=function(e={}){const{navigator:t=m}=e,n=T((()=>t&&"getGamepads"in t)),i=o.ref([]),a=r.createEventHook(),u=r.createEventHook(),s=e=>{const t=[],n="vibrationActuator"in e?e.vibrationActuator:null;return n&&t.push(n),e.hapticActuators&&t.push(...e.hapticActuators),{id:e.id,hapticActuators:t,index:e.index,mapping:e.mapping,connected:e.connected,timestamp:e.timestamp,axes:e.axes.map((e=>e)),buttons:e.buttons.map((e=>({pressed:e.pressed,touched:e.touched,value:e.value})))}},{isActive:l,pause:c,resume:f}=R((()=>{const e=(null==t?void 0:t.getGamepads())||[];for(let t=0;te===n.index));e>-1&&(i.value[e]=s(n))}}})),d=e=>{i.value.some((({index:t})=>t===e.index))||(i.value.push(s(e)),a.trigger(e.index)),f()};return y("gamepadconnected",(e=>d(e.gamepad))),y("gamepaddisconnected",(e=>{return t=e.gamepad,i.value=i.value.filter((e=>e.index!==t.index)),void u.trigger(t.index);var t})),r.tryOnMounted((()=>{const e=(null==t?void 0:t.getGamepads())||[];if(e)for(let t=0;ta&&"geolocation"in a)),l=o.ref(null),c=o.shallowRef(null),f=o.ref({accuracy:0,latitude:1/0,longitude:1/0,altitude:null,altitudeAccuracy:null,heading:null,speed:null});function d(e){l.value=e.timestamp,f.value=e.coords,c.value=null}let p;function v(){s.value&&(p=a.geolocation.watchPosition(d,(e=>c.value=e),{enableHighAccuracy:t,maximumAge:n,timeout:i}))}function h(){p&&a&&a.geolocation.clearWatch(p)}return u&&v(),r.tryOnScopeDispose((()=>{h()})),{isSupported:s,coords:f,locatedAt:l,error:c,resume:v,pause:h}},t.useIdle=function(e=6e4,t={}){const{initialState:n=!1,listenForVisibilityChange:i=!0,events:a=un,window:u=v,eventFilter:s=r.throttleFilter(50)}=t,l=o.ref(n),c=o.ref(r.timestamp());let f;const d=()=>{l.value=!1,clearTimeout(f),f=setTimeout((()=>l.value=!0),e)},p=r.createFilterWrapper(s,(()=>{c.value=r.timestamp(),d()}));if(u){const e=u.document;for(const e of a)y(u,e,p,{passive:!0});i&&y(e,"visibilitychange",(()=>{e.hidden||p()})),d()}return{idle:l,lastActive:c,reset:d}},t.useImage=function(e,t={}){const n=V((()=>async function(e){return new Promise(((t,n)=>{const r=new Image,{src:o,srcset:i,sizes:a,class:u,loading:s,crossorigin:l}=e;r.src=o,i&&(r.srcset=i),a&&(r.sizes=a),u&&(r.className=u),s&&(r.loading=s),l&&(r.crossOrigin=l),r.onload=()=>t(r),r.onerror=n}))}(r.toValue(e))),void 0,((e,t)=>{for(var n in t||(t={}))cn.call(t,n)&&dn(e,n,t[n]);if(ln)for(var n of ln(t))fn.call(t,n)&&dn(e,n,t[n]);return e})({resetOnExecute:!0},t));return o.watch((()=>r.toValue(e)),(()=>n.execute(t.delay)),{deep:!0}),n},t.useInfiniteScroll=function(e,t,n={}){var i;const{direction:a="bottom",interval:u=100}=n,s=o.reactive(pn(e,(l=Dn({},n),c={offset:Dn({[a]:null!=(i=n.distance)?i:0},n.offset)},hn(l,mn(c)))));var l,c;const f=o.ref(),d=o.computed((()=>!!f.value));return o.watch((()=>[s.arrivedState[a],r.toValue(e)]),(function n(){s.measure();const i=r.toValue(e);if(!i)return;const l="bottom"===a||"top"===a?i.scrollHeight<=i.clientHeight:i.scrollWidth<=i.clientWidth;(s.arrivedState[a]||l)&&(f.value||(f.value=Promise.all([t(s),new Promise((e=>setTimeout(e,u)))]).finally((()=>{f.value=null,o.nextTick((()=>n()))}))))}),{immediate:!0}),{isLoading:d}},t.useIntersectionObserver=jt,t.useKeyModifier=function(e,t={}){const{events:n=On,document:r=h,initial:i=null}=t,a=o.ref(i);return r&&n.forEach((t=>{y(r,t,(t=>{"function"==typeof t.getModifierState&&(a.value=t.getModifierState(e))}))})),a},t.useLocalStorage=function(e,t,n={}){const{window:r=v}=n;return be(e,t,null==r?void 0:r.localStorage,n)},t.useMagicKeys=function(e={}){const{reactive:t=!1,target:n=v,aliasMap:i=En,passive:a=!0,onEventFired:u=r.noop}=e,s=o.reactive(new Set),l={toJSON:()=>({}),current:s},c=t?o.reactive(l):l,f=new Set,d=new Set;function p(e,n){e in c&&(t?c[e]=n:c[e].value=n)}function h(){s.clear();for(const e of d)p(e,!1)}function m(e,t){var n,r;const o=null==(n=e.key)?void 0:n.toLowerCase(),i=[null==(r=e.code)?void 0:r.toLowerCase(),o].filter(Boolean);o&&(t?s.add(o):s.delete(o));for(const e of i)d.add(e),p(e,t);"meta"!==o||t?"function"==typeof e.getModifierState&&e.getModifierState("Meta")&&t&&[...s,...i].forEach((e=>f.add(e))):(f.forEach((e=>{s.delete(e),p(e,!1)})),f.clear())}y(n,"keydown",(e=>(m(e,!0),u(e))),{passive:a}),y(n,"keyup",(e=>(m(e,!1),u(e))),{passive:a}),y("blur",h,{passive:!0}),y("focus",h,{passive:!0});const g=new Proxy(c,{get(e,n,a){if("string"!=typeof n)return Reflect.get(e,n,a);if((n=n.toLowerCase())in i&&(n=i[n]),!(n in c))if(/[+_-]/.test(n)){const e=n.split(/[+_-]/g).map((e=>e.trim()));c[n]=o.computed((()=>e.every((e=>r.toValue(g[e])))))}else c[n]=o.ref(!1);const u=Reflect.get(e,n,a);return t?r.toValue(u):u}});return g},t.useManualRefHistory=We,t.useMediaControls=function(e,t={}){t=xn(xn({},Tn),t);const{document:n=h}=t,i=o.ref(0),a=o.ref(0),u=o.ref(!1),s=o.ref(1),l=o.ref(!1),c=o.ref(!1),f=o.ref(!1),d=o.ref(1),p=o.ref(!1),v=o.ref([]),m=o.ref([]),g=o.ref(-1),b=o.ref(!1),w=o.ref(!1),D=n&&"pictureInPictureEnabled"in n,O=r.createEventHook(),E=t=>{jn(e,(e=>{if(t){const n="number"==typeof t?t:t.id;e.textTracks[n].mode="disabled"}else for(let t=0;t{if(!n)return;const o=r.toValue(e);if(!o)return;const i=r.toValue(t.src);let a=[];i&&("string"==typeof i?a=[{src:i}]:Array.isArray(i)?a=i:r.isObject(i)&&(a=[i]),o.querySelectorAll("source").forEach((e=>{e.removeEventListener("error",O.trigger),e.remove()})),a.forEach((({src:e,type:t})=>{const r=n.createElement("source");r.setAttribute("src",e),r.setAttribute("type",t||""),r.addEventListener("error",O.trigger),o.appendChild(r)})),o.load())})),r.tryOnScopeDispose((()=>{const t=r.toValue(e);t&&t.querySelectorAll("source").forEach((e=>e.removeEventListener("error",O.trigger)))})),o.watch([e,s],(()=>{const t=r.toValue(e);t&&(t.volume=s.value)})),o.watch([e,w],(()=>{const t=r.toValue(e);t&&(t.muted=w.value)})),o.watch([e,d],(()=>{const t=r.toValue(e);t&&(t.playbackRate=d.value)})),o.watchEffect((()=>{if(!n)return;const o=r.toValue(t.tracks),i=r.toValue(e);o&&o.length&&i&&(i.querySelectorAll("track").forEach((e=>e.remove())),o.forEach((({default:e,kind:t,label:r,src:o,srcLang:a},u)=>{const s=n.createElement("track");s.default=e||!1,s.kind=t,s.label=r,s.src=o,s.srclang=a,s.default&&(g.value=u),i.appendChild(s)})))}));const{ignoreUpdates:C}=r.watchIgnorable(i,(t=>{const n=r.toValue(e);n&&(n.currentTime=t)})),{ignoreUpdates:S}=r.watchIgnorable(f,(t=>{const n=r.toValue(e);n&&(t?n.play():n.pause())}));y(e,"timeupdate",(()=>C((()=>i.value=r.toValue(e).currentTime)))),y(e,"durationchange",(()=>a.value=r.toValue(e).duration)),y(e,"progress",(()=>v.value=function(e){let t=[];for(let n=0;nu.value=!0)),y(e,"seeked",(()=>u.value=!1)),y(e,"waiting",(()=>l.value=!0)),y(e,"playing",(()=>{l.value=!1,c.value=!1})),y(e,"ratechange",(()=>d.value=r.toValue(e).playbackRate)),y(e,"stalled",(()=>p.value=!0)),y(e,"ended",(()=>c.value=!0)),y(e,"pause",(()=>S((()=>f.value=!1)))),y(e,"play",(()=>S((()=>f.value=!0)))),y(e,"enterpictureinpicture",(()=>b.value=!0)),y(e,"leavepictureinpicture",(()=>b.value=!1)),y(e,"volumechange",(()=>{const t=r.toValue(e);t&&(s.value=t.volume,w.value=t.muted)}));const A=[],F=o.watch([e],(()=>{const t=r.toValue(e);t&&(F(),A[0]=y(t.textTracks,"addtrack",(()=>m.value=kn(t.textTracks))),A[1]=y(t.textTracks,"removetrack",(()=>m.value=kn(t.textTracks))),A[2]=y(t.textTracks,"change",(()=>m.value=kn(t.textTracks))))}));return r.tryOnScopeDispose((()=>A.forEach((e=>e())))),{currentTime:i,duration:a,waiting:l,seeking:u,ended:c,stalled:p,buffered:v,playing:f,rate:d,volume:s,muted:w,tracks:m,selectedTrack:g,enableTrack:(t,n=!0)=>{jn(e,(e=>{const r="number"==typeof t?t:t.id;n&&E(),e.textTracks[r].mode="showing",g.value=r}))},disableTrack:E,supportsPictureInPicture:D,togglePictureInPicture:()=>new Promise(((t,r)=>{jn(e,(async e=>{D&&(b.value?n.exitPictureInPicture().then(t).catch(r):e.requestPictureInPicture().then(t).catch(r))}))})),isPictureInPicture:b,onSourceError:O.on}},t.useMediaQuery=H,t.useMemoize=function(e,t){const n=(null==t?void 0:t.cache)?o.reactive(t.cache):o.isVue2?function(){const e=o.reactive({});return{get:t=>e[t],set:(t,n)=>o.set(e,t,n),has:t=>r.hasOwn(e,t),delete:t=>o.del(e,t),clear:()=>{Object.keys(e).forEach((t=>{o.del(e,t)}))}}}():o.reactive(new Map),i=(...e)=>(null==t?void 0:t.getKey)?t.getKey(...e):JSON.stringify(e),a=(t,...r)=>(n.set(t,e(...r)),n.get(t)),u=(...e)=>{const t=i(...e);return n.has(t)?n.get(t):a(t,...e)};return u.load=(...e)=>a(i(...e),...e),u.delete=(...e)=>{n.delete(i(...e))},u.clear=()=>{n.clear()},u.generateKey=i,u.cache=n,u},t.useMemory=function(e={}){const t=o.ref(),n=T((()=>"undefined"!=typeof performance&&"memory"in performance));if(n.value){const{interval:n=1e3}=e;r.useIntervalFn((()=>{t.value=performance.memory}),n,{immediate:e.immediate,immediateCallback:e.immediateCallback})}return{isSupported:n,memory:t}},t.useMounted=k,t.useMouse=Bn,t.useMouseInElement=_n,t.useMousePressed=function(e={}){const{touch:t=!0,drag:n=!0,initialValue:r=!1,window:i=v}=e,a=o.ref(r),u=o.ref(null);if(!i)return{pressed:a,sourceType:u};const s=e=>()=>{a.value=!0,u.value=e},l=()=>{a.value=!1,u.value=null},c=o.computed((()=>p(e.target)||i));return y(c,"mousedown",s("mouse"),{passive:!0}),y(i,"mouseleave",l,{passive:!0}),y(i,"mouseup",l,{passive:!0}),n&&(y(c,"dragstart",s("mouse"),{passive:!0}),y(i,"drop",l,{passive:!0}),y(i,"dragend",l,{passive:!0})),t&&(y(c,"touchstart",s("touch"),{passive:!0}),y(i,"touchend",l,{passive:!0}),y(i,"touchcancel",l,{passive:!0})),{pressed:a,sourceType:u}},t.useMutationObserver=ke,t.useNavigatorLanguage=function(e={}){const{window:t=v}=e,n=null==t?void 0:t.navigator,r=T((()=>n&&"language"in n)),i=o.ref(null==n?void 0:n.language);return y(t,"languagechange",(()=>{n&&(i.value=n.language)})),{isSupported:r,language:i}},t.useNetwork=Nn,t.useNow=Un,t.useObjectUrl=function(e){const t=o.ref(),n=()=>{t.value&&URL.revokeObjectURL(t.value),t.value=void 0};return o.watch((()=>r.toValue(e)),(e=>{n(),e&&(t.value=URL.createObjectURL(e))}),{immediate:!0}),r.tryOnScopeDispose(n),o.readonly(t)},t.useOffsetPagination=function(e){const{total:t=1/0,pageSize:n=10,page:i=1,onPageChange:a=r.noop,onPageSizeChange:u=r.noop,onPageCountChange:s=r.noop}=e,l=zn(n,1,1/0),c=o.computed((()=>Math.max(1,Math.ceil(r.toValue(t)/r.toValue(l))))),f=zn(i,1,c),d=o.computed((()=>1===f.value)),p=o.computed((()=>f.value===c.value));o.isRef(i)&&r.syncRef(i,f),o.isRef(n)&&r.syncRef(n,l);const v={currentPage:f,currentPageSize:l,pageCount:c,isFirstPage:d,isLastPage:p,prev:function(){f.value--},next:function(){f.value++}};return o.watch(f,(()=>{a(o.reactive(v))})),o.watch(l,(()=>{u(o.reactive(v))})),o.watch(c,(()=>{s(o.reactive(v))})),v},t.useOnline=function(e={}){const{isOnline:t}=Nn(e);return t},t.usePageLeave=function(e={}){const{window:t=v}=e,n=o.ref(!1),r=e=>{if(!t)return;const r=(e=e||t.event).relatedTarget||e.toElement;n.value=!r};return t&&(y(t,"mouseout",r,{passive:!0}),y(t.document,"mouseleave",r,{passive:!0}),y(t.document,"mouseenter",r,{passive:!0})),n},t.useParallax=function(e,t={}){const{deviceOrientationTiltAdjust:n=(e=>e),deviceOrientationRollAdjust:r=(e=>e),mouseTiltAdjust:i=(e=>e),mouseRollAdjust:a=(e=>e),window:u=v}=t,s=o.reactive(ct({window:u})),{elementX:l,elementY:c,elementWidth:f,elementHeight:d}=_n(e,{handleOutside:!1,window:u}),p=o.computed((()=>s.isSupported&&(null!=s.alpha&&0!==s.alpha||null!=s.gamma&&0!==s.gamma)?"deviceOrientation":"mouse"));return{roll:o.computed((()=>{if("deviceOrientation"===p.value){const e=-s.beta/90;return r(e)}{const e=-(c.value-d.value/2)/d.value;return a(e)}})),tilt:o.computed((()=>{if("deviceOrientation"===p.value){const e=s.gamma/90;return n(e)}{const e=(l.value-f.value/2)/f.value;return i(e)}})),source:p}},t.useParentElement=function(e=Re()){const t=o.shallowRef(),n=()=>{const n=p(e);n&&(t.value=n.parentElement)};return r.tryOnMounted(n),o.watch((()=>r.toValue(e)),n),t},t.usePerformanceObserver=function(e,t){const n=e,{window:o=v,immediate:i=!0}=n,a=((e,t)=>{var n={};for(var r in e)Wn.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Hn)for(var r of Hn(e))t.indexOf(r)<0&&qn.call(e,r)&&(n[r]=e[r]);return n})(n,["window","immediate"]),u=T((()=>o&&"PerformanceObserver"in o));let s;const l=()=>{null==s||s.disconnect()},c=()=>{u.value&&(l(),s=new PerformanceObserver(t),s.observe(a))};return r.tryOnScopeDispose(l),i&&c(),{isSupported:u,start:c,stop:l}},t.usePermission=ft,t.usePointer=function(e={}){const{target:t=v}=e,n=o.ref(!1),i=o.ref(e.initialValue||{});Object.assign(i.value,er,i.value);const a=t=>{n.value=!0,e.pointerTypes&&!e.pointerTypes.includes(t.pointerType)||(i.value=r.objectPick(t,tr,!1))};return t&&(y(t,"pointerdown",a,{passive:!0}),y(t,"pointermove",a,{passive:!0}),y(t,"pointerleave",(()=>n.value=!1),{passive:!0})),u=((e,t)=>{for(var n in t||(t={}))Xn.call(t,n)&&Zn(e,n,t[n]);if(Jn)for(var n of Jn(t))Qn.call(t,n)&&Zn(e,n,t[n]);return e})({},r.toRefs(i)),Kn(u,Yn({isInside:n}));var u},t.usePointerLock=function(e,t={}){const{document:n=h,pointerLockOptions:i}=t,a=T((()=>n&&"pointerLockElement"in n)),u=o.ref(),s=o.ref();let l;return a.value&&(y(n,"pointerlockchange",(()=>{var e;const t=null!=(e=n.pointerLockElement)?e:u.value;l&&t===l&&(u.value=n.pointerLockElement,u.value||(l=s.value=null))})),y(n,"pointerlockerror",(()=>{var e;const t=null!=(e=n.pointerLockElement)?e:u.value;if(l&&t===l){const e=n.pointerLockElement?"release":"acquire";throw new Error(`Failed to ${e} pointer lock.`)}}))),{isSupported:a,element:u,triggerElement:s,lock:async function(t,n){var o;if(!a.value)throw new Error("Pointer Lock API is not supported by your browser.");if(s.value=t instanceof Event?t.currentTarget:null,l=t instanceof Event?null!=(o=p(e))?o:s.value:p(t),!l)throw new Error("Target element undefined.");return l.requestPointerLock(null!=n?n:i),await r.until(u).toBe(l)},unlock:async function(){return!!u.value&&(n.exitPointerLock(),await r.until(u).toBeNull(),!0)}}},t.usePointerSwipe=function(e,t={}){const n=r.toRef(e),{threshold:i=50,onSwipe:a,onSwipeEnd:u,onSwipeStart:s}=t,l=o.reactive({x:0,y:0}),c=o.reactive({x:0,y:0}),f=(e,t)=>{c.x=e,c.y=t},d=o.computed((()=>l.x-c.x)),p=o.computed((()=>l.y-c.y)),{max:v,abs:h}=Math,m=o.computed((()=>v(h(d.value),h(p.value))>=i)),g=o.ref(!1),b=o.ref(!1),w=o.computed((()=>m.value?h(d.value)>h(p.value)?d.value>0?"left":"right":p.value>0?"up":"down":"none")),D=e=>{var n,r,o;const i=0===e.buttons,a=1===e.buttons;return null==(o=null!=(r=null==(n=t.pointerTypes)?void 0:n.includes(e.pointerType))?r:i||a)||o},O=[y(e,"pointerdown",(e=>{var t,r;if(!D(e))return;b.value=!0,null==(r=null==(t=n.value)?void 0:t.style)||r.setProperty("touch-action","none");const o=e.target;null==o||o.setPointerCapture(e.pointerId);const{clientX:i,clientY:a}=e;((e,t)=>{l.x=e,l.y=t})(i,a),f(i,a),null==s||s(e)})),y(e,"pointermove",(e=>{if(!D(e))return;if(!b.value)return;const{clientX:t,clientY:n}=e;f(t,n),!g.value&&m.value&&(g.value=!0),g.value&&(null==a||a(e))})),y(e,"pointerup",(e=>{var t,r;D(e)&&(g.value&&(null==u||u(e,w.value)),b.value=!1,g.value=!1,null==(r=null==(t=n.value)?void 0:t.style)||r.setProperty("touch-action","initial"))}))];return{isSwiping:o.readonly(g),direction:o.readonly(w),posStart:o.readonly(l),posEnd:o.readonly(c),distanceX:d,distanceY:p,stop:()=>O.forEach((e=>e()))}},t.usePreferredColorScheme=function(e){const t=H("(prefers-color-scheme: light)",e),n=H("(prefers-color-scheme: dark)",e);return o.computed((()=>n.value?"dark":t.value?"light":"no-preference"))},t.usePreferredContrast=function(e){const t=H("(prefers-contrast: more)",e),n=H("(prefers-contrast: less)",e),r=H("(prefers-contrast: custom)",e);return o.computed((()=>t.value?"more":n.value?"less":r.value?"custom":"no-preference"))},t.usePreferredDark=we,t.usePreferredLanguages=function(e={}){const{window:t=v}=e;if(!t)return o.ref(["en"]);const n=t.navigator,r=o.ref(n.languages);return y(t,"languagechange",(()=>{r.value=n.languages})),r},t.usePreferredReducedMotion=function(e){const t=H("(prefers-reduced-motion: reduce)",e);return o.computed((()=>t.value?"reduce":"no-preference"))},t.usePrevious=function(e,t){const n=o.shallowRef(t);return o.watch(r.toRef(e),((e,t)=>{n.value=t}),{flush:"sync"}),o.readonly(n)},t.useRafFn=R,t.useRefHistory=tt,t.useResizeObserver=Et,t.useScreenOrientation=function(e={}){const{window:t=v}=e,n=T((()=>t&&"screen"in t&&"orientation"in t.screen)),r=n.value?t.screen.orientation:{},i=o.ref(r.type),a=o.ref(r.angle||0);return n.value&&y(t,"orientationchange",(()=>{i.value=r.type,a.value=r.angle})),{isSupported:n,orientation:i,angle:a,lockOrientation:e=>n.value?r.lock(e):Promise.reject(new Error("Not supported")),unlockOrientation:()=>{n.value&&r.unlock()}}},t.useScreenSafeArea=function(){const e=o.ref(""),t=o.ref(""),n=o.ref(""),i=o.ref("");if(r.isClient){const e=Te(nr),t=Te(rr),n=Te(or),o=Te(ir);e.value="env(safe-area-inset-top, 0px)",t.value="env(safe-area-inset-right, 0px)",n.value="env(safe-area-inset-bottom, 0px)",o.value="env(safe-area-inset-left, 0px)",a(),y("resize",r.useDebounceFn(a))}function a(){e.value=ar(nr),t.value=ar(rr),n.value=ar(or),i.value=ar(ir)}return{top:e,right:t,bottom:n,left:i,update:a}},t.useScriptTag=function(e,t=r.noop,n={}){const{immediate:i=!0,manual:a=!1,type:u="text/javascript",async:s=!0,crossOrigin:l,referrerPolicy:c,noModule:f,defer:d,document:p=h,attrs:v={}}=n,m=o.ref(null);let g=null;const y=(n=!0)=>(g||(g=(n=>new Promise(((o,i)=>{const a=e=>(m.value=e,o(e),e);if(!p)return void o(!1);let h=!1,g=p.querySelector(`script[src="${r.toValue(e)}"]`);g?g.hasAttribute("data-loaded")&&a(g):(g=p.createElement("script"),g.type=u,g.async=s,g.src=r.toValue(e),d&&(g.defer=d),l&&(g.crossOrigin=l),f&&(g.noModule=f),c&&(g.referrerPolicy=c),Object.entries(v).forEach((([e,t])=>null==g?void 0:g.setAttribute(e,t))),h=!0),g.addEventListener("error",(e=>i(e))),g.addEventListener("abort",(e=>i(e))),g.addEventListener("load",(()=>{g.setAttribute("data-loaded","true"),t(g),a(g)})),h&&(g=p.head.appendChild(g)),n||a(g)})))(n)),g),b=()=>{if(!p)return;g=null,m.value&&(m.value=null);const t=p.querySelector(`script[src="${r.toValue(e)}"]`);t&&p.head.removeChild(t)};return i&&!a&&r.tryOnMounted(y),a||r.tryOnUnmounted(b),{scriptTag:m,load:y,unload:b}},t.useScroll=pn,t.useScrollLock=function(e,t=!1){const n=o.ref(t);let i,a=null;o.watch(r.toRef(e),(e=>{if(e){const t=e;i=t.style.overflow,n.value&&(t.style.overflow="hidden")}}),{immediate:!0});const u=()=>{const t=r.toValue(e);t&&n.value&&(r.isIOS&&(null==a||a()),t.style.overflow=i,n.value=!1)};return r.tryOnScopeDispose(u),o.computed({get:()=>n.value,set(t){t?(()=>{const t=r.toValue(e);t&&!n.value&&(r.isIOS&&(a=y(t,"touchmove",(e=>{sr(e)}),{passive:!1})),t.style.overflow="hidden",n.value=!0)})():u()}})},t.useSessionStorage=function(e,t,n={}){const{window:r=v}=n;return be(e,t,null==r?void 0:r.sessionStorage,n)},t.useShare=function(e={},t={}){const{navigator:n=m}=t,o=n,i=T((()=>o&&"canShare"in o));return{isSupported:i,share:async(t={})=>{if(i.value){const n=vr(vr({},r.toValue(e)),r.toValue(t));let i=!0;if(n.files&&o.canShare&&(i=o.canShare({files:n.files})),i)return o.share(n)}}}},t.useSorted=function(...e){var t,n,i,a;const[u]=e;let s=mr,l={};2===e.length?"object"==typeof e[1]?(l=e[1],s=null!=(t=l.compareFn)?t:mr):s=null!=(n=e[1])?n:mr:e.length>2&&(s=null!=(i=e[1])?i:mr,l=null!=(a=e[2])?a:{});const{dirty:c=!1,sortFn:f=hr}=l;return c?(o.watchEffect((()=>{const e=f(r.toValue(u),s);o.isRef(u)?u.value=e:u.splice(0,u.length,...e)})),u):o.computed((()=>f([...r.toValue(u)],s)))},t.useSpeechRecognition=function(e={}){const{interimResults:t=!0,continuous:n=!0,window:i=v}=e,a=r.toRef(e.lang||"en-US"),u=o.ref(!1),s=o.ref(!1),l=o.ref(""),c=o.shallowRef(void 0),f=i&&(i.SpeechRecognition||i.webkitSpeechRecognition),d=T((()=>f));let p;return d.value&&(p=new f,p.continuous=n,p.interimResults=t,p.lang=r.toValue(a),p.onstart=()=>{s.value=!1},o.watch(a,(e=>{p&&!u.value&&(p.lang=e)})),p.onresult=e=>{const t=Array.from(e.results).map((e=>(s.value=e.isFinal,e[0]))).map((e=>e.transcript)).join("");l.value=t,c.value=void 0},p.onerror=e=>{c.value=e},p.onend=()=>{u.value=!1,p.lang=r.toValue(a)},o.watch(u,(()=>{u.value?p.start():p.stop()}))),r.tryOnScopeDispose((()=>{u.value=!1})),{isSupported:d,isListening:u,isFinal:s,recognition:p,result:l,error:c,toggle:(e=!u.value)=>{u.value=e},start:()=>{u.value=!0},stop:()=>{u.value=!1}}},t.useSpeechSynthesis=function(e,t={}){const{pitch:n=1,rate:i=1,volume:a=1,window:u=v}=t,s=u&&u.speechSynthesis,l=T((()=>s)),c=o.ref(!1),f=o.ref("init"),d=r.toRef(e||""),p=r.toRef(t.lang||"en-US"),h=o.shallowRef(void 0),m=e=>{e.lang=r.toValue(p),e.voice=r.toValue(t.voice)||null,e.pitch=n,e.rate=i,e.volume=a,e.onstart=()=>{c.value=!0,f.value="play"},e.onpause=()=>{c.value=!1,f.value="pause"},e.onresume=()=>{c.value=!0,f.value="play"},e.onend=()=>{c.value=!1,f.value="end"},e.onerror=e=>{h.value=e}},g=o.computed((()=>{c.value=!1,f.value="init";const e=new SpeechSynthesisUtterance(d.value);return m(e),e}));return l.value&&(m(g.value),o.watch(p,(e=>{g.value&&!c.value&&(g.value.lang=e)})),t.voice&&o.watch(t.voice,(()=>{s.cancel()})),o.watch(c,(()=>{c.value?s.resume():s.pause()}))),r.tryOnScopeDispose((()=>{c.value=!1})),{isSupported:l,isPlaying:c,status:f,utterance:g,error:h,stop:()=>{s.cancel(),c.value=!1},toggle:(e=!c.value)=>{c.value=e},speak:()=>{s.cancel(),g&&s.speak(g.value)}}},t.useStepper=function(e,t){const n=o.ref(e),r=o.computed((()=>Array.isArray(n.value)?n.value:Object.keys(n.value))),i=o.ref(r.value.indexOf(null!=t?t:r.value[0])),a=o.computed((()=>f(i.value))),u=o.computed((()=>0===i.value)),s=o.computed((()=>i.value===r.value.length-1)),l=o.computed((()=>r.value[i.value+1])),c=o.computed((()=>r.value[i.value-1]));function f(e){return Array.isArray(n.value)?n.value[e]:n.value[r.value[e]]}function d(e){r.value.includes(e)&&(i.value=r.value.indexOf(e))}function p(e){return i.value>r.value.indexOf(e)}return{steps:n,stepNames:r,index:i,current:a,next:l,previous:c,isFirst:u,isLast:s,at:f,get:function(e){if(r.value.includes(e))return f(r.value.indexOf(e))},goTo:d,goToNext:function(){s.value||i.value++},goToPrevious:function(){u.value||i.value--},goBackTo:function(e){p(e)&&d(e)},isNext:function(e){return r.value.indexOf(e)===i.value+1},isPrevious:function(e){return r.value.indexOf(e)===i.value-1},isCurrent:function(e){return r.value.indexOf(e)===i.value},isBefore:function(e){return i.value{console.error(e)})}=i,g=r.toValue(t),b=ce(g),w=(d?o.shallowRef:o.ref)(t),D=null!=(a=i.serializer)?a:ge[b];if(!n)try{n=le("getDefaultStorage",(()=>{var e;return null==(e=v)?void 0:e.localStorage}))()}catch(e){m(e)}async function O(t){if(n&&(!t||t.key===e))try{const r=t?t.newValue:await n.getItem(e);if(null==r)w.value=g,c&&null!==g&&await n.setItem(e,await D.write(g));else if(f){const e=await D.read(r);"function"==typeof f?w.value=f(e,g):"object"!==b||Array.isArray(e)?w.value=e:w.value=Or(Or({},g),e)}else w.value=await D.read(r)}catch(e){m(e)}}return O(),p&&l&&y(p,"storage",(e=>Promise.resolve().then((()=>O(e))))),n&&r.watchWithFilter(w,(async()=>{try{null==w.value?await n.removeItem(e):await n.setItem(e,await D.write(w.value))}catch(e){m(e)}}),{flush:u,deep:s,eventFilter:h}),w},t.useStyleTag=function(e,t={}){const n=o.ref(!1),{document:i=h,immediate:a=!0,manual:u=!1,id:s="vueuse_styletag_"+ ++Er}=t,l=o.ref(e);let c=()=>{};const f=()=>{if(!i)return;const e=i.getElementById(s)||i.createElement("style");e.isConnected||(e.type="text/css",e.id=s,t.media&&(e.media=t.media),i.head.appendChild(e)),n.value||(c=o.watch(l,(t=>{e.textContent=t}),{immediate:!0}),n.value=!0)},d=()=>{i&&n.value&&(c(),i.head.removeChild(i.getElementById(s)),n.value=!1)};return a&&!u&&r.tryOnMounted(f),u||r.tryOnScopeDispose(d),{id:s,css:l,unload:d,load:f,isLoaded:o.readonly(n)}},t.useSupported=T,t.useSwipe=function(e,t={}){const{threshold:n=50,onSwipe:i,onSwipeEnd:a,onSwipeStart:u,passive:s=!0,window:l=v}=t,c=o.reactive({x:0,y:0}),f=o.reactive({x:0,y:0}),d=o.computed((()=>c.x-f.x)),p=o.computed((()=>c.y-f.y)),{max:h,abs:m}=Math,g=o.computed((()=>h(m(d.value),m(p.value))>=n)),b=o.ref(!1),w=o.computed((()=>g.value?m(d.value)>m(p.value)?d.value>0?"left":"right":p.value>0?"up":"down":"none")),D=e=>[e.touches[0].clientX,e.touches[0].clientY],O=(e,t)=>{f.x=e,f.y=t};let E;const C=function(e){if(!e)return!1;let t=!1;const n={get passive(){return t=!0,!1}};return e.addEventListener("x",r.noop,n),e.removeEventListener("x",r.noop),t}(null==l?void 0:l.document);E=s?C?{passive:!0}:{capture:!1}:C?{passive:!1,capture:!0}:{capture:!0};const S=e=>{b.value&&(null==a||a(e,w.value)),b.value=!1},A=[y(e,"touchstart",(e=>{if(1!==e.touches.length)return;E.capture&&!E.passive&&e.preventDefault();const[t,n]=D(e);((e,t)=>{c.x=e,c.y=t})(t,n),O(t,n),null==u||u(e)}),E),y(e,"touchmove",(e=>{if(1!==e.touches.length)return;const[t,n]=D(e);O(t,n),!b.value&&g.value&&(b.value=!0),b.value&&(null==i||i(e))}),E),y(e,"touchend",S,E),y(e,"touchcancel",S,E)];return{isPassiveEventSupported:C,isSwiping:b,direction:w,coordsStart:c,coordsEnd:f,lengthX:d,lengthY:p,stop:()=>A.forEach((e=>e()))}},t.useTemplateRefsList=function(){const e=o.ref([]);return e.value.set=t=>{t&&e.value.push(t)},o.onBeforeUpdate((()=>{e.value.length=0})),e},t.useTextDirection=function(e={}){const{document:t=h,selector:n="html",observe:i=!1,initialValue:a="ltr"}=e;function u(){var e,r;return null!=(r=null==(e=null==t?void 0:t.querySelector(n))?void 0:e.getAttribute("dir"))?r:a}const s=o.ref(u());return r.tryOnMounted((()=>s.value=u())),i&&t&&ke(t.querySelector(n),(()=>s.value=u()),{attributes:!0}),o.computed({get:()=>s.value,set(e){var r,o;s.value=e,t&&(s.value?null==(r=t.querySelector(n))||r.setAttribute("dir",s.value):null==(o=t.querySelector(n))||o.removeAttribute("dir"))}})},t.useTextSelection=function(e={}){const{window:t=v}=e,n=o.ref(null),r=o.computed((()=>{var e,t;return null!=(t=null==(e=n.value)?void 0:e.toString())?t:""})),i=o.computed((()=>n.value?function(e){var t;const n=null!=(t=e.rangeCount)?t:0,r=new Array(n);for(let t=0;ti.value.map((e=>e.getBoundingClientRect()))));return t&&y(t.document,"selectionchange",(function(){n.value=null,t&&(n.value=t.getSelection())})),{text:r,rects:a,ranges:i,selection:n}},t.useTextareaAutosize=function(e){const t=o.ref(null==e?void 0:e.element),n=o.ref(null==e?void 0:e.input),i=o.ref(1);function a(){var n,o;if(!t.value)return;let a="";t.value.style.height="1px",i.value=null==(n=t.value)?void 0:n.scrollHeight,(null==e?void 0:e.styleTarget)?r.toValue(e.styleTarget).style.height=`${i.value}px`:a=`${i.value}px`,t.value.style.height=a,null==(o=null==e?void 0:e.onResize)||o.call(e)}return o.watch([n,t],a,{immediate:!0}),Et(t,(()=>a())),(null==e?void 0:e.watch)&&o.watch(e.watch,a,{immediate:!0,deep:!0}),{textarea:t,input:n,triggerResize:a}},t.useThrottledRefHistory=function(e,t={}){const{throttle:n=200,trailing:o=!0}=t,i=r.throttleFilter(n,o),a=tt(e,(u=kr({},t),Sr(u,Ar({eventFilter:i}))));var u;return kr({},a)},t.useTimeAgo=function(e,t={}){const{controls:n=!1,updateInterval:i=3e4}=t,a=Un({interval:i,controls:!0}),{now:u}=a,s=((e,t)=>{var n={};for(var r in e)Br.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Rr)for(var r of Rr(e))t.indexOf(r)<0&&_r.call(e,r)&&(n[r]=e[r]);return n})(a,["now"]),l=o.computed((()=>Mr(new Date(r.toValue(e)),t,r.toValue(u.value))));return n?((e,t)=>{for(var n in t||(t={}))Br.call(t,n)&&Nr(e,n,t[n]);if(Rr)for(var n of Rr(t))_r.call(t,n)&&Nr(e,n,t[n]);return e})({timeAgo:l},s):l},t.useTimeoutPoll=function(e,t,n){const{start:i}=r.useTimeoutFn(u,t),a=o.ref(!1);async function u(){a.value&&(await e(),i())}function s(){a.value||(a.value=!0,u())}function l(){a.value=!1}return(null==n?void 0:n.immediate)&&s(),r.tryOnScopeDispose(l),{isActive:a,pause:l,resume:s}},t.useTimestamp=function(e={}){const{controls:t=!1,offset:n=0,immediate:i=!0,interval:a="requestAnimationFrame",callback:u}=e,s=o.ref(r.timestamp()+n),l=()=>s.value=r.timestamp()+n,c=u?()=>{l(),u(s.value)}:l,f="requestAnimationFrame"===a?R(c,{immediate:i}):r.useIntervalFn(c,a,{immediate:i});return t?((e,t)=>{for(var n in t||(t={}))zr.call(t,n)&&Wr(e,n,t[n]);if(Ur)for(var n of Ur(t))Hr.call(t,n)&&Wr(e,n,t[n]);return e})({timestamp:s},f):s},t.useTitle=function(e=null,t={}){var n,i;const{document:a=h}=t,u=r.toRef(null!=(n=null!=e?e:null==a?void 0:a.title)?n:null),s=e&&"function"==typeof e;function l(e){if(!("titleTemplate"in t))return e;const n=t.titleTemplate||"%s";return"function"==typeof n?n(e):r.toValue(n).replace(/%s/g,e)}return o.watch(u,((e,t)=>{e!==t&&a&&(a.title=l("string"==typeof e?e:""))}),{immediate:!0}),t.observe&&!t.titleTemplate&&a&&!s&&ke(null==(i=a.head)?void 0:i.querySelector("title"),(()=>{a&&a.title!==u.value&&(u.value=l(a.title))}),{childList:!0}),u},t.useTransition=function(e,t={}){let n=0;const i=()=>{const t=r.toValue(e);return"number"==typeof t?t:t.map(r.toValue)},a=o.ref(i());return o.watch(i,(async e=>{var o,i;if(r.toValue(t.disabled))return;const u=++n;if(t.delay&&await r.promiseTimeout(r.toValue(t.delay)),u!==n)return;const s=Array.isArray(e)?e.map(r.toValue):r.toValue(e);var l,c;null==(o=t.onStarted)||o.call(t),await ro(a,a.value,s,(l=((e,t)=>{for(var n in t||(t={}))Jr.call(t,n)&&Qr(e,n,t[n]);if(Yr)for(var n of Yr(t))Xr.call(t,n)&&Qr(e,n,t[n]);return e})({},t),c={abort:()=>{var e;return u!==n||(null==(e=t.abort)?void 0:e.call(t))}},Gr(l,Kr(c)))),null==(i=t.onFinished)||i.call(t)}),{deep:!0}),o.watch((()=>r.toValue(t.disabled)),(e=>{e&&(n++,a.value=i())})),r.tryOnScopeDispose((()=>{n++})),o.computed((()=>r.toValue(t.disabled)?i():a.value))},t.useUrlSearchParams=function(e="history",t={}){const{initialValue:n={},removeNullishValues:i=!0,removeFalsyValues:a=!1,write:u=!0,window:s=v}=t;if(!s)return o.reactive(n);const l=o.reactive({});function c(){return new URLSearchParams(function(){if("history"===e)return s.location.search||"";if("hash"===e){const e=s.location.hash||"",t=e.indexOf("?");return t>0?e.slice(t):""}return(s.location.hash||"").replace(/^#/,"")}())}function f(e){const t=new Set(Object.keys(l));for(const n of e.keys()){const r=e.getAll(n);l[n]=r.length>1?r:e.get(n)||"",t.delete(n)}Array.from(t).forEach((e=>delete l[e]))}const{pause:d,resume:p}=r.pausableWatch(l,(()=>{const e=new URLSearchParams("");Object.keys(l).forEach((t=>{const n=l[t];Array.isArray(n)?n.forEach((n=>e.append(t,n))):i&&null==n||a&&!n?e.delete(t):e.set(t,n)})),h(e)}),{deep:!0});function h(t,n){d(),n&&f(t),s.history.replaceState(s.history.state,s.document.title,s.location.pathname+function(t){const n=t.toString();if("history"===e)return`${n?`?${n}`:""}${s.location.hash||""}`;if("hash-params"===e)return`${s.location.search||""}${n?`#${n}`:""}`;const r=s.location.hash||"#",o=r.indexOf("?");return o>0?`${r.slice(0,o)}${n?`?${n}`:""}`:`${r}${n?`?${n}`:""}`}(t)),p()}function m(){u&&h(c(),!0)}y(s,"popstate",m,!1),"history"!==e&&y(s,"hashchange",m,!1);const g=c();return g.keys().next().value?f(g):Object.assign(l,n),l},t.useUserMedia=function(e={}){var t,n;const r=o.ref(null!=(t=e.enabled)&&t),i=o.ref(null==(n=e.autoSwitch)||n),a=o.ref(e.constraints),{navigator:u=m}=e,s=T((()=>{var e;return null==(e=null==u?void 0:u.mediaDevices)?void 0:e.getUserMedia})),l=o.shallowRef();function c(e){switch(e){case"video":if(a.value)return a.value.video||!1;break;case"audio":if(a.value)return a.value.audio||!1}}async function f(){if(s.value&&!l.value)return l.value=await u.mediaDevices.getUserMedia({video:c("video"),audio:c("audio")}),l.value}function d(){var e;null==(e=l.value)||e.getTracks().forEach((e=>e.stop())),l.value=void 0}async function p(){return await f(),l.value&&(r.value=!0),l.value}async function v(){return d(),await p()}return o.watch(r,(e=>{e?f():d()}),{immediate:!0}),o.watch(a,(()=>{i.value&&l.value&&v()}),{immediate:!0}),{isSupported:s,stream:l,start:p,stop:function(){d(),r.value=!1},restart:v,constraints:a,enabled:r,autoSwitch:i}},t.useVModel=oo,t.useVModels=function(e,t,n={}){const r={};for(const o in e)r[o]=oo(e,o,t,n);return r},t.useVibrate=function(e){const{pattern:t=[],interval:n=0,navigator:o=m}=e||{},i=T((()=>void 0!==o&&"vibrate"in o)),a=r.toRef(t);let u;const s=(e=a.value)=>{i.value&&o.vibrate(e)};return n>0&&(u=r.useIntervalFn(s,n,{immediate:!1,immediateCallback:!1})),{isSupported:i,pattern:t,intervalControls:u,vibrate:s,stop:()=>{i.value&&o.vibrate(0),null==u||u.pause()}}},t.useVirtualList=function(e,t){const{containerStyle:n,wrapperProps:r,scrollTo:i,calculateRange:a,currentList:u,containerRef:s}="itemHeight"in t?function(e,t){const n=io(t),{state:r,source:i,currentList:a,size:u,containerRef:s}=n,{itemHeight:l,overscan:c=5}=e,f=ao(r,i,l),d=so("vertical",c,uo(i,l),f,n),p=lo(l,i),v=o.computed((()=>p(r.value.start))),h=fo(l,i);co(u,t,d);return{calculateRange:d,scrollTo:vo("vertical",d,p,s),containerStyle:{overflowY:"auto"},wrapperProps:o.computed((()=>({style:{width:"100%",height:h.value-v.value+"px",marginTop:`${v.value}px`}}))),currentList:a,containerRef:s}}(t,e):function(e,t){const n=io(t),{state:r,source:i,currentList:a,size:u,containerRef:s}=n,{itemWidth:l,overscan:c=5}=e,f=ao(r,i,l),d=so("horizontal",c,uo(i,l),f,n),p=lo(l,i),v=o.computed((()=>p(r.value.start))),h=fo(l,i);co(u,t,d);return{scrollTo:vo("horizontal",d,p,s),calculateRange:d,wrapperProps:o.computed((()=>({style:{height:"100%",width:h.value-v.value+"px",marginLeft:`${v.value}px`,display:"flex"}}))),containerStyle:{overflowX:"auto"},currentList:a,containerRef:s}}(t,e);return{list:u,scrollTo:i,containerProps:{ref:s,onScroll:()=>{a()},style:n},wrapperProps:r}},t.useWakeLock=function(e={}){const{navigator:t=m,document:n=h}=e;let r;const i=T((()=>t&&"wakeLock"in t)),a=o.ref(!1);return n&&y(n,"visibilitychange",(async function(){i.value&&r&&(n&&"visible"===n.visibilityState&&(r=await t.wakeLock.request("screen")),a.value=!r.released)}),{passive:!0}),{isSupported:i,isActive:a,request:async function(e){i.value&&(r=await t.wakeLock.request(e),a.value=!r.released)},release:async function(){i.value&&r&&(await r.release(),a.value=!r.released,r=null)}}},t.useWebNotification=function(e={}){const{window:t=v}=e,n=T((()=>!!t&&"Notification"in t)),i=o.ref(null),a=async()=>{n.value&&"permission"in Notification&&"denied"!==Notification.permission&&await Notification.requestPermission()},{on:u,trigger:s}=r.createEventHook(),{on:l,trigger:c}=r.createEventHook(),{on:f,trigger:d}=r.createEventHook(),{on:p,trigger:h}=r.createEventHook(),m=()=>{i.value&&i.value.close(),i.value=null};if(r.tryOnMounted((async()=>{n.value&&await a()})),r.tryOnScopeDispose(m),n.value&&t){const e=t.document;y(e,"visibilitychange",(t=>{t.preventDefault(),"visible"===e.visibilityState&&m()}))}return{isSupported:n,notification:i,show:async t=>{if(!n.value)return;await a();const r=Object.assign({},e,t);return i.value=new Notification(r.title||"",r),i.value.onclick=s,i.value.onshow=c,i.value.onerror=d,i.value.onclose=h,i.value},close:m,onClick:u,onShow:l,onError:f,onClose:p}},t.useWebSocket=function(e,t={}){const{onConnected:n,onDisconnected:i,onError:a,onMessage:u,immediate:s=!0,autoClose:l=!0,protocols:c=[]}=t,f=o.ref(null),d=o.ref("CLOSED"),p=o.ref(),v=r.toRef(e);let h,m,g,b=!1,w=0,D=[];const O=(e=1e3,t)=>{p.value&&(b=!0,null==h||h(),p.value.close(e,t))},E=()=>{if(D.length&&p.value&&"OPEN"===d.value){for(const e of D)p.value.send(e);D=[]}},C=(e,t=!0)=>p.value&&"OPEN"===d.value?(E(),p.value.send(e),!0):(t&&D.push(e),!1),S=()=>{if(b||void 0===v.value)return;const e=new WebSocket(v.value,c);p.value=e,d.value="CONNECTING",e.onopen=()=>{d.value="OPEN",null==n||n(e),null==m||m(),E()},e.onclose=n=>{if(d.value="CLOSED",p.value=void 0,null==i||i(e,n),!b&&t.autoReconnect){const{retries:e=-1,delay:n=1e3,onFailed:r}=mo(t.autoReconnect);w+=1,"number"==typeof e&&(e<0||w{null==a||a(e,t)},e.onmessage=n=>{if(t.heartbeat){clearTimeout(g),g=void 0;const{message:e=ho}=mo(t.heartbeat);if(n.data===e)return}f.value=n.data,null==u||u(e,n)}};if(t.heartbeat){const{message:e=ho,interval:n=1e3,pongTimeout:o=1e3}=mo(t.heartbeat),{pause:i,resume:a}=r.useIntervalFn((()=>{C(e,!1),null==g&&(g=setTimeout((()=>{O()}),o))}),n,{immediate:!1});h=i,m=a}l&&(y(window,"beforeunload",(()=>O())),r.tryOnScopeDispose(O));const A=()=>{O(),b=!1,w=0,S()};return s&&o.watch(v,A,{immediate:!0}),{data:f,status:d,close:O,send:C,open:A,ws:p}},t.useWebWorker=function(e,t,n){const{window:i=v}=null!=n?n:{},a=o.ref(null),u=o.shallowRef();return i&&(u.value="string"==typeof e?new Worker(e,t):"function"==typeof e?e():e,u.value.onmessage=e=>{a.value=e.data},r.tryOnScopeDispose((()=>{u.value&&u.value.terminate()}))),{data:a,post:function(e){u.value&&u.value.postMessage(e)},terminate:function(){u.value&&u.value.terminate()},worker:u}},t.useWebWorkerFn=function(e,t={}){const{dependencies:n=[],timeout:i,window:a=v}=t,u=o.ref(),s=o.ref("PENDING"),l=o.ref({}),c=o.ref(),f=(e="PENDING")=>{u.value&&u.value._url&&a&&(u.value.terminate(),URL.revokeObjectURL(u.value._url),l.value={},u.value=void 0,a.clearTimeout(c.value),s.value=e)};return f(),r.tryOnScopeDispose(f),{workerFn:(...t)=>"RUNNING"===s.value?(console.error("[useWebWorkerFn] You can only run one instance of the worker at a time."),Promise.reject()):(u.value=(()=>{const t=yo(e,n),r=new Worker(t);return r._url=t,r.onmessage=e=>{const{resolve:t=(()=>{}),reject:n=(()=>{})}=l.value,[r,o]=e.data;"SUCCESS"===r?(t(o),f(r)):(n(o),f("ERROR"))},r.onerror=e=>{const{reject:t=(()=>{})}=l.value;t(e),f("ERROR")},i&&(c.value=setTimeout((()=>f("TIMEOUT_EXPIRED")),i)),r})(),((...e)=>new Promise(((t,n)=>{l.value={resolve:t,reject:n},u.value&&u.value.postMessage([[...e]]),s.value="RUNNING"})))(...t)),workerStatus:s,workerTerminate:f}},t.useWindowFocus=function({window:e=v}={}){if(!e)return o.ref(!1);const t=o.ref(e.document.hasFocus());return y(e,"blur",(()=>{t.value=!1})),y(e,"focus",(()=>{t.value=!0})),t},t.useWindowScroll=function({window:e=v}={}){if(!e)return{x:o.ref(0),y:o.ref(0)};const t=o.ref(e.scrollX),n=o.ref(e.scrollY);return y(e,"scroll",(()=>{t.value=e.scrollX,n.value=e.scrollY}),{capture:!1,passive:!0}),{x:t,y:n}},t.useWindowSize=function(e={}){const{window:t=v,initialWidth:n=1/0,initialHeight:i=1/0,listenOrientation:a=!0,includeScrollbar:u=!0}=e,s=o.ref(n),l=o.ref(i),c=()=>{t&&(u?(s.value=t.innerWidth,l.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),r.tryOnMounted(c),y("resize",c,{passive:!0}),a){const e=H("(orientation: portrait)");o.watch(e,(()=>c()))}return{width:s,height:l}},Object.keys(r).forEach((function(e){"default"===e||t.hasOwnProperty(e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})}))},61e3:(e,t,n)=>{var r=n(20144),o=r.default||r;t.Vue=o,t.Vue2=o,t.isVue2=!0,t.isVue3=!1,t.install=function(){},t.warn=o.util.warn,t.createApp=function(e,t){var n,r={},i={config:o.config,use:o.use.bind(o),mixin:o.mixin.bind(o),component:o.component.bind(o),provide:function(e,t){return r[e]=t,this},directive:function(e,t){return t?(o.directive(e,t),i):o.directive(e)},mount:function(i,a){return n||((n=new o(Object.assign({propsData:t},e,{provide:Object.assign(r,e.provide)}))).$mount(i,a),n)},unmount:function(){n&&(n.$destroy(),n=void 0)}};return i},Object.keys(r).forEach((function(e){t[e]=r[e]}))},16227:(e,t,n)=>{"use strict";var r=n(3627),o=Object.defineProperty,i=Object.defineProperties,a=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,c=(e,t,n)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function f(e,t){var n;const o=r.shallowRef();var f,d;return r.watchEffect((()=>{o.value=e()}),(f=((e,t)=>{for(var n in t||(t={}))s.call(t,n)&&c(e,n,t[n]);if(u)for(var n of u(t))l.call(t,n)&&c(e,n,t[n]);return e})({},t),d={flush:null!=(n=null==t?void 0:t.flush)?n:"sync"},i(f,a(d)))),r.readonly(o)}function d(e,t){let n,o,i;const a=r.ref(!0),u=()=>{a.value=!0,i()};r.watch(e,u,{flush:"sync"});const s="function"==typeof t?t:t.get,l="function"==typeof t?void 0:t.set,c=r.customRef(((e,t)=>(o=e,i=t,{get:()=>(a.value&&(n=s(),a.value=!1),o(),n),set(e){null==l||l(e)}})));return Object.isExtensible(c)&&(c.trigger=u),c}function p(e){return!!r.getCurrentScope()&&(r.onScopeDispose(e),!0)}function v(e,t,{enumerable:n=!1,unwrap:o=!0}={}){if(r.isVue3||r.version.startsWith("2.7.")){for(const[i,a]of Object.entries(t))"value"!==i&&(r.isRef(a)&&o?Object.defineProperty(e,i,{get:()=>a.value,set(e){a.value=e},enumerable:n}):Object.defineProperty(e,i,{value:a,enumerable:n}));return e}}var h=Object.defineProperty,m=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,b=(e,t,n)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function w(e){return"function"==typeof e?e():r.unref(e)}const D=w;function O(e,t){const n=!1===(null==t?void 0:t.computedGetter)?r.unref:w;return function(...t){return r.computed((()=>e.apply(this,t.map((e=>n(e))))))}}function E(e){if(!r.isRef(e))return r.reactive(e);const t=new Proxy({},{get:(t,n,o)=>r.unref(Reflect.get(e.value,n,o)),set:(t,n,o)=>(r.isRef(e.value[n])&&!r.isRef(o)?e.value[n].value=o:e.value[n]=o,!0),deleteProperty:(t,n)=>Reflect.deleteProperty(e.value,n),has:(t,n)=>Reflect.has(e.value,n),ownKeys:()=>Object.keys(e.value),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0})});return r.reactive(t)}function C(e){return E(r.computed(e))}const S="undefined"!=typeof window,A=Object.prototype.toString,F=e=>"[object Object]"===A.call(e),P=()=>+Date.now(),x=()=>{},j=k();function k(){var e;return S&&(null==(e=null==window?void 0:window.navigator)?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function T(e,t){return function(...n){return new Promise(((r,o)=>{Promise.resolve(e((()=>t.apply(this,n)),{fn:t,thisArg:this,args:n})).then(r).catch(o)}))}}const R=e=>e();function B(e,t={}){let n,r,o=x;const i=e=>{clearTimeout(e),o(),o=x};return a=>{const u=w(e),s=w(t.maxWait);return n&&i(n),u<=0||void 0!==s&&s<=0?(r&&(i(r),r=null),Promise.resolve(a())):new Promise(((e,l)=>{o=t.rejectOnCancel?l:e,s&&!r&&(r=setTimeout((()=>{n&&i(n),r=null,e(a())}),s)),n=setTimeout((()=>{r&&i(r),r=null,e(a())}),u)}))}}function _(e,t=!0,n=!0,r=!1){let o,i,a=0,u=!0,s=x;const l=()=>{o&&(clearTimeout(o),o=void 0,s(),s=x)};return c=>{const f=w(e),d=Date.now()-a,p=()=>i=c();return l(),f<=0?(a=Date.now(),p()):(d>f&&(n||!u)?(a=Date.now(),p()):t&&(i=new Promise(((e,t)=>{s=r?t:e,o=setTimeout((()=>{a=Date.now(),u=!0,e(p()),l()}),Math.max(0,f-d))}))),n||o||(o=setTimeout((()=>u=!0),f)),u=!1,i)}}function N(e=R){const t=r.ref(!0);return{isActive:r.readonly(t),pause:function(){t.value=!1},resume:function(){t.value=!0},eventFilter:(...n)=>{t.value&&e(...n)}}}const L={mounted:r.isVue3?"mounted":"inserted",updated:r.isVue3?"updated":"componentUpdated",unmounted:r.isVue3?"unmounted":"unbind"};function $(e,t=!1,n="Timeout"){return new Promise(((r,o)=>{t?setTimeout((()=>o(n)),e):setTimeout(r,e)}))}function I(e,...t){return t.some((t=>t in e))}function M(...e){if(1!==e.length)return r.toRef(...e);const t=e[0];return"function"==typeof t?r.readonly(r.customRef((()=>({get:t,set:x})))):r.ref(t)}const V=M;function U(e,t=1e4){return r.customRef(((n,r)=>{let o,i=e;return p((()=>{clearTimeout(o)})),{get:()=>(n(),i),set(n){i=n,r(),clearTimeout(o),o=setTimeout((()=>{i=e,r()}),w(t))}}}))}function z(e,t=200,n={}){return T(B(t,n),e)}function H(e,t=200,n={}){const o=r.ref(e.value),i=z((()=>{o.value=e.value}),t,n);return r.watch(e,(()=>i())),o}function W(e,t=200,n=!1,r=!0,o=!1){return T(_(t,n,r,o),e)}function q(e,t=200,n=!0,o=!0){if(t<=0)return e;const i=r.ref(e.value),a=W((()=>{i.value=e.value}),t,n,o);return r.watch(e,(()=>a())),i}function G(e,t={}){let n,o,i=e;function a(e=!0){return e&&n(),i}function u(e,n=!0){var r,a;if(e===i)return;const u=i;!1!==(null==(r=t.onBeforeChange)?void 0:r.call(t,e,u))&&(i=e,null==(a=t.onChanged)||a.call(t,e,u),n&&o())}return v(r.customRef(((e,t)=>(n=e,o=t,{get:()=>a(),set(e){u(e)}}))),{get:a,set:u,untrackedGet:()=>a(!1),silentSet:e=>u(e,!1),peek:()=>a(!1),lay:e=>u(e,!1)},{enumerable:!0})}const K=G;var Y=Object.defineProperty,J=Object.defineProperties,X=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,Z=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,te=(e,t,n)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ne=(e,t)=>{for(var n in t||(t={}))Z.call(t,n)&&te(e,n,t[n]);if(Q)for(var n of Q(t))ee.call(t,n)&&te(e,n,t[n]);return e};function re(e,t=!1){function n(n,{flush:o="sync",deep:i=!1,timeout:a,throwOnTimeout:u}={}){let s=null;const l=[new Promise((a=>{s=r.watch(e,(e=>{n(e)!==t&&(null==s||s(),a(e))}),{flush:o,deep:i,immediate:!0})}))];return null!=a&&l.push($(a,u).then((()=>w(e))).finally((()=>null==s?void 0:s()))),Promise.race(l)}function o(o,i){if(!r.isRef(o))return n((e=>e===o),i);const{flush:a="sync",deep:u=!1,timeout:s,throwOnTimeout:l}=null!=i?i:{};let c=null;const f=[new Promise((n=>{c=r.watch([e,o],(([e,r])=>{t!==(e===r)&&(null==c||c(),n(e))}),{flush:a,deep:u,immediate:!0})}))];return null!=s&&f.push($(s,l).then((()=>w(e))).finally((()=>(null==c||c(),w(e))))),Promise.race(f)}function i(e){return a(1,e)}function a(e=1,t){let r=-1;return n((()=>(r+=1,r>=e)),t)}return Array.isArray(w(e))?{toMatch:n,toContains:function(e,t){return n((t=>{const n=Array.from(t);return n.includes(e)||n.includes(w(e))}),t)},changed:i,changedTimes:a,get not(){return re(e,!t)}}:{toMatch:n,toBe:o,toBeTruthy:function(e){return n((e=>Boolean(e)),e)},toBeNull:function(e){return o(null,e)},toBeNaN:function(e){return n(Number.isNaN,e)},toBeUndefined:function(e){return o(void 0,e)},changed:i,changedTimes:a,get not(){return re(e,!t)}}}function oe(e,t){return e===t}const ie=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ae=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function ue(e,t,n,r){let o=e<12?"AM":"PM";return r&&(o=o.split("").reduce(((e,t)=>e+`${t}.`),"")),n?o.toLowerCase():o}function se(e,t,n={}){var r;const o=e.getFullYear(),i=e.getMonth(),a=e.getDate(),u=e.getHours(),s=e.getMinutes(),l=e.getSeconds(),c=e.getMilliseconds(),f=e.getDay(),d=null!=(r=n.customMeridiem)?r:ue,p={YY:()=>String(o).slice(-2),YYYY:()=>o,M:()=>i+1,MM:()=>`${i+1}`.padStart(2,"0"),MMM:()=>e.toLocaleDateString(n.locales,{month:"short"}),MMMM:()=>e.toLocaleDateString(n.locales,{month:"long"}),D:()=>String(a),DD:()=>`${a}`.padStart(2,"0"),H:()=>String(u),HH:()=>`${u}`.padStart(2,"0"),h:()=>`${u%12||12}`.padStart(1,"0"),hh:()=>`${u%12||12}`.padStart(2,"0"),m:()=>String(s),mm:()=>`${s}`.padStart(2,"0"),s:()=>String(l),ss:()=>`${l}`.padStart(2,"0"),SSS:()=>`${c}`.padStart(3,"0"),d:()=>f,dd:()=>e.toLocaleDateString(n.locales,{weekday:"narrow"}),ddd:()=>e.toLocaleDateString(n.locales,{weekday:"short"}),dddd:()=>e.toLocaleDateString(n.locales,{weekday:"long"}),A:()=>d(u,s),AA:()=>d(u,s,!1,!0),a:()=>d(u,s,!0),aa:()=>d(u,s,!0,!0)};return t.replace(ae,((e,t)=>{var n;return t||(null==(n=p[e])?void 0:n.call(p))||e}))}function le(e){if(null===e)return new Date(NaN);if(void 0===e)return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){const t=e.match(ie);if(t){const e=t[2]-1||0,n=(t[7]||"0").substring(0,3);return new Date(t[1],e,t[3]||1,t[4]||0,t[5]||0,t[6]||0,n)}}return new Date(e)}function ce(e,t=1e3,n={}){const{immediate:o=!0,immediateCallback:i=!1}=n;let a=null;const u=r.ref(!1);function s(){a&&(clearInterval(a),a=null)}function l(){u.value=!1,s()}function c(){const n=w(t);n<=0||(u.value=!0,i&&e(),s(),a=setInterval(e,n))}return o&&S&&c(),(r.isRef(t)||"function"==typeof t)&&p(r.watch(t,(()=>{u.value&&S&&c()}))),p(l),{isActive:u,pause:l,resume:c}}var fe=Object.defineProperty,de=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,he=(e,t,n)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function me(e,t,n={}){const{immediate:o=!0}=n,i=r.ref(!1);let a=null;function u(){a&&(clearTimeout(a),a=null)}function s(){i.value=!1,u()}function l(...n){u(),i.value=!0,a=setTimeout((()=>{i.value=!1,a=null,e(...n)}),w(t))}return o&&(i.value=!0,S&&l()),p(s),{isPending:r.readonly(i),start:l,stop:s}}var ge=Object.defineProperty,ye=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,De=(e,t,n)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Oe=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable,Se=(e,t)=>{var n={};for(var r in e)Ee.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Oe)for(var r of Oe(e))t.indexOf(r)<0&&Ce.call(e,r)&&(n[r]=e[r]);return n};function Ae(e,t,n={}){const o=n,{eventFilter:i=R}=o,a=Se(o,["eventFilter"]);return r.watch(e,T(i,t),a)}var Fe=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable,je=Object.defineProperty,ke=Object.defineProperties,Te=Object.getOwnPropertyDescriptors,Re=Object.getOwnPropertySymbols,Be=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,Ne=(e,t,n)=>t in e?je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Le(e,t,n={}){const r=n,{debounce:o=0,maxWait:i}=r,a=((e,t)=>{var n={};for(var r in e)Be.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Re)for(var r of Re(e))t.indexOf(r)<0&&_e.call(e,r)&&(n[r]=e[r]);return n})(r,["debounce","maxWait"]);return Ae(e,t,(u=((e,t)=>{for(var n in t||(t={}))Be.call(t,n)&&Ne(e,n,t[n]);if(Re)for(var n of Re(t))_e.call(t,n)&&Ne(e,n,t[n]);return e})({},a),s={eventFilter:B(o,{maxWait:i})},ke(u,Te(s))));var u,s}var $e=Object.defineProperty,Ie=Object.defineProperties,Me=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,He=(e,t,n)=>t in e?$e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,We=Object.defineProperty,qe=Object.defineProperties,Ge=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable,Xe=(e,t,n)=>t in e?We(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Qe(e,t,n={}){const o=n,{eventFilter:i=R}=o,a=((e,t)=>{var n={};for(var r in e)Ye.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ke)for(var r of Ke(e))t.indexOf(r)<0&&Je.call(e,r)&&(n[r]=e[r]);return n})(o,["eventFilter"]),u=T(i,t);let s,l,c;if("sync"===a.flush){const t=r.ref(!1);l=()=>{},s=e=>{t.value=!0,e(),t.value=!1},c=r.watch(e,((...e)=>{t.value||u(...e)}),a)}else{const t=[],n=r.ref(0),o=r.ref(0);l=()=>{n.value=o.value},t.push(r.watch(e,(()=>{o.value++}),(f=((e,t)=>{for(var n in t||(t={}))Ye.call(t,n)&&Xe(e,n,t[n]);if(Ke)for(var n of Ke(t))Je.call(t,n)&&Xe(e,n,t[n]);return e})({},a),qe(f,Ge({flush:"sync"}))))),s=e=>{const t=o.value;e(),n.value+=o.value-t},t.push(r.watch(e,((...e)=>{const t=n.value>0&&n.value===o.value;n.value=0,o.value=0,t||u(...e)}),a)),c=()=>{t.forEach((e=>e()))}}var f;return{stop:c,ignoreUpdates:s,ignorePrevAsyncUpdates:l}}var Ze=Object.defineProperty,et=Object.defineProperties,tt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,rt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,it=(e,t,n)=>t in e?Ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,at=Object.defineProperty,ut=Object.defineProperties,st=Object.getOwnPropertyDescriptors,lt=Object.getOwnPropertySymbols,ct=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,dt=(e,t,n)=>t in e?at(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function pt(e,t,n={}){const r=n,{eventFilter:o}=r,i=((e,t)=>{var n={};for(var r in e)ct.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&<)for(var r of lt(e))t.indexOf(r)<0&&ft.call(e,r)&&(n[r]=e[r]);return n})(r,["eventFilter"]),{eventFilter:a,pause:u,resume:s,isActive:l}=N(o);var c;return{stop:Ae(e,t,(c=((e,t)=>{for(var n in t||(t={}))ct.call(t,n)&&dt(e,n,t[n]);if(lt)for(var n of lt(t))ft.call(t,n)&&dt(e,n,t[n]);return e})({},i),ut(c,st({eventFilter:a})))),pause:u,resume:s,isActive:l}}var vt=Object.defineProperty,ht=Object.defineProperties,mt=Object.getOwnPropertyDescriptors,gt=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable,wt=(e,t,n)=>t in e?vt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Dt(e,t,n={}){const r=n,{throttle:o=0,trailing:i=!0,leading:a=!0}=r,u=((e,t)=>{var n={};for(var r in e)yt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&>)for(var r of gt(e))t.indexOf(r)<0&&bt.call(e,r)&&(n[r]=e[r]);return n})(r,["throttle","trailing","leading"]);return Ae(e,t,(s=((e,t)=>{for(var n in t||(t={}))yt.call(t,n)&&wt(e,n,t[n]);if(gt)for(var n of gt(t))bt.call(t,n)&&wt(e,n,t[n]);return e})({},u),l={eventFilter:_(o,i,a)},ht(s,mt(l))));var s,l}var Ot=Object.defineProperty,Et=Object.defineProperties,Ct=Object.getOwnPropertyDescriptors,St=Object.getOwnPropertySymbols,At=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,Pt=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;t.assert=(e,...t)=>{e||console.warn(...t)},t.autoResetRef=U,t.bypassFilter=R,t.clamp=(e,t,n)=>Math.min(n,Math.max(t,e)),t.computedEager=f,t.computedWithControl=d,t.containsProp=I,t.controlledComputed=d,t.controlledRef=K,t.createEventHook=function(){const e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);const r=()=>t(n);return p(r),{off:r}},off:t,trigger:t=>Promise.all(Array.from(e).map((e=>e(t))))}},t.createFilterWrapper=T,t.createGlobalState=function(e){let t,n=!1;const o=r.effectScope(!0);return(...r)=>(n||(t=o.run((()=>e(...r))),n=!0),t)},t.createInjectionState=function(e){const t=Symbol("InjectionState");return[(...n)=>{const o=e(...n);return r.provide(t,o),o},()=>r.inject(t)]},t.createReactiveFn=O,t.createSharedComposable=function(e){let t,n,o=0;const i=()=>{o-=1,n&&o<=0&&(n.stop(),t=void 0,n=void 0)};return(...a)=>(o+=1,t||(n=r.effectScope(!0),t=n.run((()=>e(...a)))),p(i),t)},t.createSingletonPromise=function(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const e=t;t=void 0,e&&await e},n},t.debounceFilter=B,t.debouncedRef=H,t.debouncedWatch=Le,t.directiveHooks=L,t.eagerComputed=f,t.extendRef=v,t.formatDate=se,t.get=function(e,t){return null==t?r.unref(e):r.unref(e)[t]},t.hasOwn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t.identity=function(e){return e},t.ignorableWatch=Qe,t.increaseWithUnit=function(e,t){var n;if("number"==typeof e)return e+t;const r=(null==(n=e.match(/^-?[0-9]+\.?[0-9]*/))?void 0:n[0])||"",o=e.slice(r.length),i=parseFloat(r)+t;return Number.isNaN(i)?e:i+o},t.invoke=function(e){return e()},t.isClient=S,t.isDef=e=>void 0!==e,t.isDefined=function(e){return null!=r.unref(e)},t.isIOS=j,t.isObject=F,t.makeDestructurable=function(e,t){if("undefined"!=typeof Symbol){const n=((e,t)=>{for(var n in t||(t={}))g.call(t,n)&&b(e,n,t[n]);if(m)for(var n of m(t))y.call(t,n)&&b(e,n,t[n]);return e})({},e);return Object.defineProperty(n,Symbol.iterator,{enumerable:!1,value(){let e=0;return{next:()=>({value:t[e++],done:e>t.length})}}}),n}return Object.assign([...t],e)},t.noop=x,t.normalizeDate=le,t.notNullish=e=>null!=e,t.now=()=>Date.now(),t.objectEntries=function(e){return Object.entries(e)},t.objectOmit=function(e,t,n=!1){return Object.fromEntries(Object.entries(e).filter((([e,r])=>!(n&&void 0===r||t.includes(e)))))},t.objectPick=function(e,t,n=!1){return t.reduce(((t,r)=>(r in e&&(n&&void 0===e[r]||(t[r]=e[r])),t)),{})},t.pausableFilter=N,t.pausableWatch=pt,t.promiseTimeout=$,t.rand=(e,t)=>(e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e),t.reactify=O,t.reactifyObject=function(e,t={}){let n,r=[];if(Array.isArray(t))r=t;else{n=t;const{includeOwnProperties:o=!0}=t;r.push(...Object.keys(e)),o&&r.push(...Object.getOwnPropertyNames(e))}return Object.fromEntries(r.map((t=>{const r=e[t];return[t,"function"==typeof r?O(r.bind(e),n):r]})))},t.reactiveComputed=C,t.reactiveOmit=function(e,...t){const n=t.flat(),o=n[0];return C((()=>"function"==typeof o?Object.fromEntries(Object.entries(r.toRefs(e)).filter((([e,t])=>!o(w(t),e)))):Object.fromEntries(Object.entries(r.toRefs(e)).filter((e=>!n.includes(e[0]))))))},t.reactivePick=function(e,...t){const n=t.flat(),o=n[0];return C((()=>"function"==typeof o?Object.fromEntries(Object.entries(r.toRefs(e)).filter((([e,t])=>o(w(t),e)))):Object.fromEntries(n.map((t=>[t,M(e,t)])))))},t.refAutoReset=U,t.refDebounced=H,t.refDefault=function(e,t){return r.computed({get(){var n;return null!=(n=e.value)?n:t},set(t){e.value=t}})},t.refThrottled=q,t.refWithControl=G,t.resolveRef=V,t.resolveUnref=D,t.set=function(...e){if(2===e.length){const[t,n]=e;t.value=n}if(3===e.length)if(r.isVue2)r.set(...e);else{const[t,n,r]=e;t[n]=r}},t.syncRef=function(e,t,n={}){var o,i;const{flush:a="sync",deep:u=!1,immediate:s=!0,direction:l="both",transform:c={}}=n;let f,d;const p=null!=(o=c.ltr)?o:e=>e,v=null!=(i=c.rtl)?i:e=>e;return"both"!==l&&"ltr"!==l||(f=r.watch(e,(e=>t.value=p(e)),{flush:a,deep:u,immediate:s})),"both"!==l&&"rtl"!==l||(d=r.watch(t,(t=>e.value=v(t)),{flush:a,deep:u,immediate:s})),()=>{null==f||f(),null==d||d()}},t.syncRefs=function(e,t,n={}){const{flush:o="sync",deep:i=!1,immediate:a=!0}=n;return Array.isArray(t)||(t=[t]),r.watch(e,(e=>t.forEach((t=>t.value=e))),{flush:o,deep:i,immediate:a})},t.throttleFilter=_,t.throttledRef=q,t.throttledWatch=Dt,t.timestamp=P,t.toReactive=E,t.toRef=M,t.toRefs=function(e){if(!r.isRef(e))return r.toRefs(e);const t=Array.isArray(e.value)?new Array(e.value.length):{};for(const n in e.value)t[n]=r.customRef((()=>({get:()=>e.value[n],set(t){if(Array.isArray(e.value)){const r=[...e.value];r[n]=t,e.value=r}else{const o=(r=ne({},e.value),J(r,X({[n]:t})));Object.setPrototypeOf(o,e.value),e.value=o}var r}})));return t},t.toValue=w,t.tryOnBeforeMount=function(e,t=!0){r.getCurrentInstance()?r.onBeforeMount(e):t?e():r.nextTick(e)},t.tryOnBeforeUnmount=function(e){r.getCurrentInstance()&&r.onBeforeUnmount(e)},t.tryOnMounted=function(e,t=!0){r.getCurrentInstance()?r.onMounted(e):t?e():r.nextTick(e)},t.tryOnScopeDispose=p,t.tryOnUnmounted=function(e){r.getCurrentInstance()&&r.onUnmounted(e)},t.until=function(e){return re(e)},t.useArrayDifference=function(...e){var t;const n=e[0],o=e[1];let i=null!=(t=e[2])?t:oe;if("string"==typeof i){const e=i;i=(t,n)=>t[e]===n[e]}return r.computed((()=>w(n).filter((e=>-1===w(o).findIndex((t=>i(e,t)))))))},t.useArrayEvery=function(e,t){return r.computed((()=>w(e).every(((e,n,r)=>t(w(e),n,r)))))},t.useArrayFilter=function(e,t){return r.computed((()=>w(e).map((e=>w(e))).filter(t)))},t.useArrayFind=function(e,t){return r.computed((()=>w(w(e).find(((e,n,r)=>t(w(e),n,r))))))},t.useArrayFindIndex=function(e,t){return r.computed((()=>w(e).findIndex(((e,n,r)=>t(w(e),n,r)))))},t.useArrayFindLast=function(e,t){return r.computed((()=>w(Array.prototype.findLast?w(e).findLast(((e,n,r)=>t(w(e),n,r))):function(e,t){let n=e.length;for(;n-- >0;)if(t(e[n],n,e))return e[n]}(w(e),((e,n,r)=>t(w(e),n,r))))))},t.useArrayIncludes=function(...e){var t;const n=e[0],o=e[1];let i=e[2],a=0;var u;if(F(u=i)&&I(u,"formIndex","comparator")&&(a=null!=(t=i.fromIndex)?t:0,i=i.comparator),"string"==typeof i){const e=i;i=(t,n)=>t[e]===w(n)}return i=null!=i?i:(e,t)=>e===w(t),r.computed((()=>w(n).slice(a).some(((e,t,n)=>i(w(e),w(o),t,w(n))))))},t.useArrayJoin=function(e,t){return r.computed((()=>w(e).map((e=>w(e))).join(w(t))))},t.useArrayMap=function(e,t){return r.computed((()=>w(e).map((e=>w(e))).map(t)))},t.useArrayReduce=function(e,t,...n){const o=(e,n,r)=>t(w(e),w(n),r);return r.computed((()=>{const t=w(e);return n.length?t.reduce(o,w(n[0])):t.reduce(o)}))},t.useArraySome=function(e,t){return r.computed((()=>w(e).some(((e,n,r)=>t(w(e),n,r)))))},t.useArrayUnique=function(e,t){return r.computed((()=>{const n=w(e).map((e=>w(e)));return t?(o=t,(r=n).reduce(((e,t)=>(e.some((e=>o(t,e,r)))||e.push(t),e)),[])):function(e){return Array.from(new Set(e))}(n);var r,o}))},t.useCounter=function(e=0,t={}){const n=r.ref(e),{max:o=1/0,min:i=-1/0}=t,a=e=>n.value=Math.max(i,Math.min(o,e));return{count:n,inc:(e=1)=>n.value=Math.min(o,n.value+e),dec:(e=1)=>n.value=Math.max(i,n.value-e),get:()=>n.value,set:a,reset:(t=e)=>(e=t,a(t))}},t.useDateFormat=function(e,t="HH:mm:ss",n={}){return r.computed((()=>se(le(w(e)),w(t),n)))},t.useDebounce=H,t.useDebounceFn=z,t.useInterval=function(e=1e3,t={}){const{controls:n=!1,immediate:o=!0,callback:i}=t,a=r.ref(0),u=()=>a.value+=1,s=ce(i?()=>{u(),i(a.value)}:u,e,{immediate:o});return n?((e,t)=>{for(var n in t||(t={}))pe.call(t,n)&&he(e,n,t[n]);if(de)for(var n of de(t))ve.call(t,n)&&he(e,n,t[n]);return e})({counter:a,reset:()=>{a.value=0}},s):a},t.useIntervalFn=ce,t.useLastChanged=function(e,t={}){var n;const o=r.ref(null!=(n=t.initialValue)?n:null);return r.watch(e,(()=>o.value=P()),t),o},t.useThrottle=q,t.useThrottleFn=W,t.useTimeout=function(e=1e3,t={}){const{controls:n=!1,callback:o}=t,i=me(null!=o?o:x,e,t),a=r.computed((()=>!i.isPending.value));return n?((e,t)=>{for(var n in t||(t={}))be.call(t,n)&&De(e,n,t[n]);if(ye)for(var n of ye(t))we.call(t,n)&&De(e,n,t[n]);return e})({ready:a},i):a},t.useTimeoutFn=me,t.useToNumber=function(e,t={}){const{method:n="parseFloat",radix:o,nanToZero:i}=t;return r.computed((()=>{let t=w(e);return"string"==typeof t&&(t=Number[n](t,o)),i&&isNaN(t)&&(t=0),t}))},t.useToString=function(e){return r.computed((()=>`${w(e)}`))},t.useToggle=function(e=!1,t={}){const{truthyValue:n=!0,falsyValue:o=!1}=t,i=r.isRef(e),a=r.ref(e);function u(e){if(arguments.length)return a.value=e,a.value;{const e=w(n);return a.value=a.value===e?w(o):e,a.value}}return i?u:[a,u]},t.watchArray=function(e,t,n){let o=(null==n?void 0:n.immediate)?[]:[...e instanceof Function?e():Array.isArray(e)?e:w(e)];return r.watch(e,((e,n,r)=>{const i=new Array(o.length),a=[];for(const t of e){let e=!1;for(let n=0;n!i[t]));t(e,o,a,u,r),o=[...e]}),n)},t.watchAtMost=function(e,t,n){const o=n,{count:i}=o,a=((e,t)=>{var n={};for(var r in e)Pe.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Fe)for(var r of Fe(e))t.indexOf(r)<0&&xe.call(e,r)&&(n[r]=e[r]);return n})(o,["count"]),u=r.ref(0),s=Ae(e,((...e)=>{u.value+=1,u.value>=w(i)&&r.nextTick((()=>s())),t(...e)}),a);return{count:u,stop:s}},t.watchDebounced=Le,t.watchDeep=function(e,t,n){return r.watch(e,t,(o=((e,t)=>{for(var n in t||(t={}))Ue.call(t,n)&&He(e,n,t[n]);if(Ve)for(var n of Ve(t))ze.call(t,n)&&He(e,n,t[n]);return e})({},n),Ie(o,Me({deep:!0}))));var o},t.watchIgnorable=Qe,t.watchImmediate=function(e,t,n){return r.watch(e,t,(o=((e,t)=>{for(var n in t||(t={}))rt.call(t,n)&&it(e,n,t[n]);if(nt)for(var n of nt(t))ot.call(t,n)&&it(e,n,t[n]);return e})({},n),et(o,tt({immediate:!0}))));var o},t.watchOnce=function(e,t,n){const o=r.watch(e,((...e)=>(r.nextTick((()=>o())),t(...e))),n)},t.watchPausable=pt,t.watchThrottled=Dt,t.watchTriggerable=function(e,t,n={}){let o;function i(e){o=e}const a=(e,n)=>(function(){if(!o)return;const e=o;o=void 0,e()}(),t(e,n,i)),u=Qe(e,a,n),{ignoreUpdates:s}=u;return l=((e,t)=>{for(var n in t||(t={}))At.call(t,n)&&Pt(e,n,t[n]);if(St)for(var n of St(t))Ft.call(t,n)&&Pt(e,n,t[n]);return e})({},u),Et(l,Ct({trigger:()=>{let t;return s((()=>{var n;t=a((n=e,r.isReactive(n)?n:Array.isArray(n)?n.map((e=>w(e))):w(n)),function(e){return Array.isArray(e)?e.map((()=>{})):void 0}(e))})),t}}));var l},t.watchWithFilter=Ae,t.whenever=function(e,t,n){return r.watch(e,((e,n,r)=>{e&&t(e,n,r)}),n)}},3627:(e,t,n)=>{var r=n(20144),o=r.default||r;t.Vue=o,t.Vue2=o,t.isVue2=!0,t.isVue3=!1,t.install=function(){},t.warn=o.util.warn,t.createApp=function(e,t){var n,r={},i={config:o.config,use:o.use.bind(o),mixin:o.mixin.bind(o),component:o.component.bind(o),provide:function(e,t){return r[e]=t,this},directive:function(e,t){return t?(o.directive(e,t),i):o.directive(e)},mount:function(i,a){return n||((n=new o(Object.assign({propsData:t},e,{provide:Object.assign(r,e.provide)}))).$mount(i,a),n)},unmount:function(){n&&(n.$destroy(),n=void 0)}};return i},Object.keys(r).forEach((function(e){t[e]=r[e]}))}}]); -//# sourceMappingURL=activity-528.js.map?v=9bc06c835f3b1fe584fd \ No newline at end of file diff --git a/js/activity-528.js.map b/js/activity-528.js.map deleted file mode 100644 index 2ebcec483..000000000 --- a/js/activity-528.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"activity-528.js?v=9bc06c835f3b1fe584fd","mappings":"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","sources":["webpack:///activity/node_modules/@nextcloud/capabilities/dist/index.js","webpack:///activity/node_modules/@nextcloud/capabilities/node_modules/@nextcloud/initial-state/dist/index.js","webpack:///activity/node_modules/@nextcloud/vue/node_modules/@nextcloud/browser-storage/dist/index.js","webpack:///activity/node_modules/@nextcloud/vue/node_modules/@nextcloud/browser-storage/dist/scopedstorage.js","webpack:///activity/node_modules/@nextcloud/vue/node_modules/@nextcloud/browser-storage/dist/storagebuilder.js","webpack:///activity/node_modules/charenc/charenc.js","webpack:///activity/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///activity/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///activity/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack:///activity/node_modules/core-js/internals/is-regexp.js","webpack:///activity/node_modules/core-js/internals/not-a-regexp.js","webpack:///activity/node_modules/core-js/modules/es.array.concat.js","webpack:///activity/node_modules/core-js/modules/es.array.filter.js","webpack:///activity/node_modules/core-js/modules/es.array.map.js","webpack:///activity/node_modules/core-js/modules/es.object.keys.js","webpack:///activity/node_modules/core-js/modules/es.string.starts-with.js","webpack:///activity/node_modules/crypt/crypt.js","webpack:///activity/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","webpack:///activity/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","webpack:///activity/node_modules/floating-vue/dist/floating-vue.es.js","webpack:///activity/node_modules/tabbable/dist/index.esm.js","webpack:///activity/node_modules/focus-trap/dist/focus-trap.esm.js","webpack:///activity/node_modules/is-buffer/index.js","webpack:///activity/node_modules/linkifyjs/dist/linkify.es.js","webpack:///activity/node_modules/linkify-string/dist/linkify-string.es.js","webpack:///activity/node_modules/md5/md5.js","webpack:///activity/node_modules/striptags/src/striptags.js","webpack:///activity/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///activity/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js","webpack://activity/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///activity/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=6950b9a6","webpack:///activity/node_modules/@nextcloud/axios/dist/index.cjs","webpack:///activity/node_modules/@nextcloud/axios/node_modules/axios/dist/browser/axios.cjs","webpack:///activity/node_modules/@vueuse/components/index.cjs","webpack:///activity/node_modules/@vueuse/components/node_modules/vue-demi/lib/index.cjs","webpack:///activity/node_modules/@vueuse/core/index.cjs","webpack:///activity/node_modules/@vueuse/core/node_modules/vue-demi/lib/index.cjs","webpack:///activity/node_modules/@vueuse/shared/index.cjs","webpack:///activity/node_modules/@vueuse/shared/node_modules/vue-demi/lib/index.cjs"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCapabilities = getCapabilities;\n\nvar _initialState = require(\"@nextcloud/initial-state\");\n\nfunction getCapabilities() {\n try {\n return (0, _initialState.loadState)('core', 'capabilities');\n } catch (error) {\n console.debug('Could not find capabilities initial state fall back to _oc_capabilities');\n\n if (!('_oc_capabilities' in window)) {\n return {};\n }\n\n return window['_oc_capabilities'];\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadState = loadState;\n\nrequire(\"core-js/modules/es.array.concat.js\");\n\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n var elem = document.querySelector(\"#initial-state-\".concat(app, \"-\").concat(key));\n\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n\n throw new Error(\"Could not find initial state \".concat(key, \" of \").concat(app));\n }\n\n try {\n return JSON.parse(atob(elem.value));\n } catch (e) {\n throw new Error(\"Could not parse initial state \".concat(key, \" of \").concat(app));\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.object.define-property.js\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearAll = clearAll;\nexports.clearNonPersistent = clearNonPersistent;\nexports.getBuilder = getBuilder;\nrequire(\"core-js/modules/es.array.map.js\");\nrequire(\"core-js/modules/es.array.filter.js\");\nrequire(\"core-js/modules/es.object.to-string.js\");\nrequire(\"core-js/modules/es.object.keys.js\");\nrequire(\"core-js/modules/es.string.starts-with.js\");\nvar _storagebuilder = _interopRequireDefault(require(\"./storagebuilder\"));\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction getBuilder(appId) {\n return new _storagebuilder.default(appId);\n}\nfunction clearStorage(storage, pred) {\n Object.keys(storage).filter(function (k) {\n return pred ? pred(k) : true;\n }).map(storage.removeItem.bind(storage));\n}\nfunction clearAll() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s);\n });\n}\nfunction clearNonPersistent() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s, function (k) {\n return !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT);\n });\n });\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nrequire(\"core-js/modules/es.array.concat.js\");\nrequire(\"core-js/modules/es.array.map.js\");\nrequire(\"core-js/modules/es.array.filter.js\");\nrequire(\"core-js/modules/es.object.to-string.js\");\nrequire(\"core-js/modules/es.object.keys.js\");\nrequire(\"core-js/modules/es.string.starts-with.js\");\nrequire(\"core-js/modules/es.object.define-property.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nvar ScopedStorage = /*#__PURE__*/function () {\n function ScopedStorage(scope, wrapped, persistent) {\n _classCallCheck(this, ScopedStorage);\n _defineProperty(this, \"scope\", void 0);\n _defineProperty(this, \"wrapped\", void 0);\n this.scope = \"\".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, \"_\").concat(btoa(scope), \"_\");\n this.wrapped = wrapped;\n }\n _createClass(ScopedStorage, [{\n key: \"scopeKey\",\n value: function scopeKey(key) {\n return \"\".concat(this.scope).concat(key);\n }\n }, {\n key: \"setItem\",\n value: function setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this = this;\n Object.keys(this.wrapped).filter(function (key) {\n return key.startsWith(_this.scope);\n }).map(this.wrapped.removeItem.bind(this.wrapped));\n }\n }]);\n return ScopedStorage;\n}();\nexports.default = ScopedStorage;\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_VOLATILE\", 'nextcloud_vol');\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_PERSISTENT\", 'nextcloud_per');\n//# sourceMappingURL=scopedstorage.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nrequire(\"core-js/modules/es.object.define-property.js\");\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nvar StorageBuilder = /*#__PURE__*/function () {\n function StorageBuilder(appId) {\n _classCallCheck(this, StorageBuilder);\n _defineProperty(this, \"appId\", void 0);\n _defineProperty(this, \"persisted\", false);\n _defineProperty(this, \"clearedOnLogout\", false);\n this.appId = appId;\n }\n _createClass(StorageBuilder, [{\n key: \"persist\",\n value: function persist() {\n var _persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.persisted = _persist;\n return this;\n }\n }, {\n key: \"clearOnLogout\",\n value: function clearOnLogout() {\n var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.clearedOnLogout = clear;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n }]);\n return StorageBuilder;\n}();\nexports.default = StorageBuilder;\n//# sourceMappingURL=storagebuilder.js.map","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nimport Vue from \"vue\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nfunction getAllParentThemes(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result;\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nconst shownPoppersByTheme = {};\nfunction getShownPoppersByTheme(theme) {\n let list = shownPoppersByTheme[theme];\n if (!list) {\n list = shownPoppersByTheme[theme] = [];\n }\n return list;\n}\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function() {\n const props = this.$props;\n return getDefaultConfig(props.theme, prop);\n };\n}\nconst PROVIDE_KEY = \"__floating-vue__popper\";\nvar PrivatePopper = () => ({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: defaultPropFactory(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: defaultPropFactory(\"autoSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: defaultPropFactory(\"noAutoFocus\")\n }\n },\n provide() {\n return {\n [PROVIDE_KEY]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [PROVIDE_KEY]: { default: null }\n },\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: true\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide === \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.positioningDisabled ? null : this.result\n };\n },\n parentPopper() {\n var _a;\n return (_a = this[PROVIDE_KEY]) == null ? void 0 : _a.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var _a, _b;\n return ((_a = this.popperTriggers) == null ? void 0 : _a.includes(\"hover\")) || ((_b = this.popperShowTriggers) == null ? void 0 : _b.includes(\"hover\"));\n }\n },\n watch: __spreadValues(__spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n }\n }, [\n \"triggers\",\n \"positioningDisabled\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_refreshListeners\";\n return acc;\n }, {})), [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n if (this.autoMinSize) {\n console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.');\n }\n if (this.autoMaxSize) {\n console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n }\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeDestroy() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n var _a, _b;\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) && this.parentPopper.lockedChild !== this)\n return;\n this.$_pendingHide = false;\n if (force || !this.disabled) {\n if (((_b = this.parentPopper) == null ? void 0 : _b.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false, skipAiming = false } = {}) {\n var _a;\n if (this.$_hideInProgress)\n return;\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n if (!skipAiming && this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n if (this.parentPopper) {\n this.parentPopper.lockedChild = this;\n clearTimeout(this.parentPopper.lockedChildTimer);\n this.parentPopper.lockedChildTimer = setTimeout(() => {\n if (this.parentPopper.lockedChild === this) {\n this.parentPopper.lockedChild.hide({ skipDelay });\n this.parentPopper.lockedChild = null;\n }\n }, 1e3);\n }\n return;\n }\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_pendingHide = false;\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_updateParentShownChildren(false);\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed || this.positioningDisabled)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize || this.autoSize) {\n const autoSize = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n options2.middleware.push({\n name: \"autoSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style[autoSize === \"min\" ? \"minWidth\" : autoSize === \"max\" ? \"maxWidth\" : \"width\"] = width != null ? `${width}px` : null;\n this.$_innerNode.style[autoSize === \"min\" ? \"minHeight\" : autoSize === \"max\" ? \"maxHeight\" : \"height\"] = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize || this.autoBoundaryMaxSize) {\n this.$_innerNode.style.maxWidth = null;\n this.$_innerNode.style.maxHeight = null;\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_updateParentShownChildren(true);\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove && hidingPopper !== this.parentPopper) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n this.$_updateParentShownChildren(false);\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n if (!this.positioningDisabled) {\n this.$_registerEventListeners([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n }\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n document.body.classList.add(\"v-popper--some-open\");\n for (const theme of getAllParentThemes(this.theme)) {\n getShownPoppersByTheme(theme).push(this);\n document.body.classList.add(`v-popper--some-open--${theme}`);\n }\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n if (!this.noAutoFocus)\n this.$_popperNode.focus();\n },\n async $_applyHide(skipTransition = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n this.$_hideInProgress = false;\n return;\n }\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (shownPoppers.length === 0) {\n document.body.classList.remove(\"v-popper--some-open\");\n }\n for (const theme of getAllParentThemes(this.theme)) {\n const list = getShownPoppersByTheme(theme);\n removeFromArray(list, this);\n if (list.length === 0) {\n document.body.classList.remove(`v-popper--some-open--${theme}`);\n }\n }\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$_removeEventListeners(\"scroll\");\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n this.$_registerTriggerListeners([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (skipAiming) => (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event, skipAiming });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide(false));\n this.$_registerTriggerListeners([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide(true));\n },\n $_registerEventListeners(targetNodes, eventType, handler) {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n },\n $_registerTriggerListeners(targetNodes, eventMap, commonTriggers, customTrigger, handler) {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n this.$_registerEventListeners(targetNodes, eventType, handler);\n }\n });\n },\n $_removeEventListeners(filterEventType) {\n const newList = [];\n this.$_events.forEach((listener) => {\n const { targetNodes, eventType, handler } = listener;\n if (!filterEventType || filterEventType === eventType) {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n } else {\n newList.push(listener);\n }\n });\n this.$_events = newList;\n },\n $_refreshListeners() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n },\n $_updateParentShownChildren(value) {\n let parent = this.parentPopper;\n while (parent) {\n if (value) {\n parent.shownChildren.add(this.randomId);\n } else {\n parent.shownChildren.delete(this.randomId);\n if (parent.$_pendingHide) {\n parent.hide();\n }\n }\n parent = parent.parentPopper;\n }\n },\n $_isAimingPopper() {\n const referenceBounds = this.$el.getBoundingClientRect();\n if (mouseX >= referenceBounds.left && mouseX <= referenceBounds.right && mouseY >= referenceBounds.top && mouseY <= referenceBounds.bottom) {\n const popperBounds = this.$_popperNode.getBoundingClientRect();\n const vectorX = mouseX - mousePreviousX;\n const vectorY = mouseY - mousePreviousY;\n const distance = popperBounds.left + popperBounds.width / 2 - mousePreviousX + (popperBounds.top + popperBounds.height / 2) - mousePreviousY;\n const newVectorLength = distance + popperBounds.width + popperBounds.height;\n const edgeX = mousePreviousX + vectorX * newVectorLength;\n const edgeY = mousePreviousY + vectorY * newVectorLength;\n return lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.left, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.right, popperBounds.top) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.right, popperBounds.top, popperBounds.right, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.bottom, popperBounds.right, popperBounds.bottom);\n }\n return false;\n }\n },\n render() {\n return this.$scopedSlots.default(this.slotData)[0];\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n try {\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n } catch (e) {\n }\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n const preventClose = {};\n for (let i = shownPoppers.length - 1; i >= 0; i--) {\n const popper = shownPoppers[i];\n try {\n const contains = popper.$_containsGlobalTarget = isContainingEventTarget(popper, event);\n popper.$_pendingHide = false;\n requestAnimationFrame(() => {\n popper.$_pendingHide = false;\n if (preventClose[popper.randomId])\n return;\n if (shouldAutoHide(popper, contains, event)) {\n popper.$_handleGlobalClose(event, touch);\n if (!event.closeAllPopover && event.closePopover && contains) {\n let parent2 = popper.parentPopper;\n while (parent2) {\n preventClose[parent2.randomId] = true;\n parent2 = parent2.parentPopper;\n }\n return;\n }\n let parent = popper.parentPopper;\n while (parent) {\n if (shouldAutoHide(parent, parent.$_containsGlobalTarget, event)) {\n parent.$_handleGlobalClose(event, touch);\n } else {\n break;\n }\n parent = parent.parentPopper;\n }\n }\n });\n } catch (e) {\n }\n }\n}\nfunction isContainingEventTarget(popper, event) {\n const popperContent = popper.popperNode();\n return popper.$_mouseDownContains || popperContent.contains(event.target);\n}\nfunction shouldAutoHide(popper, contains, event) {\n return event.closeAllPopover || event.closePopover && contains || getAutoHideResult(popper, event) && !contains;\n}\nfunction getAutoHideResult(popper, event) {\n if (typeof popper.autoHide === \"function\") {\n const result = popper.autoHide(event);\n popper.lastAutoHide = result;\n return result;\n }\n return popper.autoHide;\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nlet mousePreviousX = 0;\nlet mousePreviousY = 0;\nlet mouseX = 0;\nlet mouseY = 0;\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"mousemove\", (event) => {\n mousePreviousX = mouseX;\n mousePreviousY = mouseY;\n mouseX = event.clientX;\n mouseY = event.clientY;\n }, supportsPassive ? {\n passive: true\n } : void 0);\n}\nfunction lineIntersectsLine(x1, y1, x2, y2, x3, y3, x4, y4) {\n const uA = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n const uB = ((x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n return uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1;\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nvar isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n initCompat();\n this.$nextTick(function() {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nfunction normalizeComponent$1(template, style, script2, scopeId, isFunctionalTemplate, moduleIdentifier, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== \"boolean\") {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n }\n var options2 = typeof script2 === \"function\" ? script2.options : script2;\n if (template && template.render) {\n options2.render = template.render;\n options2.staticRenderFns = template.staticRenderFns;\n options2._compiled = true;\n if (isFunctionalTemplate) {\n options2.functional = true;\n }\n }\n if (scopeId) {\n options2._scopeId = scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function hook2(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (style) {\n style.call(this, createInjectorSSR(context));\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function(context) {\n style.call(this, createInjector(context));\n };\n }\n if (hook) {\n if (options2.functional) {\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return script2;\n}\nvar __vue_script__ = script;\nvar __vue_render__ = function __vue_render__2() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\nvar __vue_inject_styles__ = void 0;\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\nvar __vue_module_identifier__ = void 0;\nvar __vue_is_functional_template__ = false;\nvar __vue_component__ = /* @__PURE__ */ normalizeComponent$1({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, void 0, void 0, void 0);\nfunction install$1(Vue2) {\n Vue2.component(\"resize-observer\", __vue_component__);\n Vue2.component(\"ResizeObserver\", __vue_component__);\n}\nvar plugin$1 = {\n version: \"1.0.1\",\n install: install$1\n};\nvar GlobalVue$1 = null;\nif (typeof window !== \"undefined\") {\n GlobalVue$1 = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n GlobalVue$1.use(plugin$1);\n}\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar __vue2_script$5 = {\n name: \"VPopperContent\",\n components: {\n ResizeObserver: __vue_component__\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n};\nvar render$2 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { ref: \"popover\", staticClass: \"v-popper__popper\", class: [\n _vm.themeClass,\n _vm.classes.popperClass,\n {\n \"v-popper__popper--shown\": _vm.shown,\n \"v-popper__popper--hidden\": !_vm.shown,\n \"v-popper__popper--show-from\": _vm.classes.showFrom,\n \"v-popper__popper--show-to\": _vm.classes.showTo,\n \"v-popper__popper--hide-from\": _vm.classes.hideFrom,\n \"v-popper__popper--hide-to\": _vm.classes.hideTo,\n \"v-popper__popper--skip-transition\": _vm.skipTransition,\n \"v-popper__popper--arrow-overflow\": _vm.result && _vm.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !_vm.result\n }\n ], style: _vm.result ? {\n position: _vm.result.strategy,\n transform: \"translate3d(\" + Math.round(_vm.result.x) + \"px,\" + Math.round(_vm.result.y) + \"px,0)\"\n } : void 0, attrs: { \"id\": _vm.popperId, \"aria-hidden\": _vm.shown ? \"false\" : \"true\", \"tabindex\": _vm.autoHide ? 0 : void 0, \"data-popper-placement\": _vm.result ? _vm.result.placement : void 0 }, on: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }, [_c(\"div\", { staticClass: \"v-popper__backdrop\", on: { \"click\": function($event) {\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }), _c(\"div\", { staticClass: \"v-popper__wrapper\", style: _vm.result ? {\n transformOrigin: _vm.result.transformOrigin\n } : void 0 }, [_c(\"div\", { ref: \"inner\", staticClass: \"v-popper__inner\" }, [_vm.mounted ? [_c(\"div\", [_vm._t(\"default\")], 2), _vm.handleResize ? _c(\"ResizeObserver\", { on: { \"notify\": function($event) {\n return _vm.$emit(\"resize\", $event);\n } } }) : _vm._e()] : _vm._e()], 2), _c(\"div\", { ref: \"arrow\", staticClass: \"v-popper__arrow-container\", style: _vm.result ? {\n left: _vm.toPx(_vm.result.arrow.x),\n top: _vm.toPx(_vm.result.arrow.y)\n } : void 0 }, [_c(\"div\", { staticClass: \"v-popper__arrow-outer\" }), _c(\"div\", { staticClass: \"v-popper__arrow-inner\" })])])]);\n};\nvar staticRenderFns$2 = [];\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options2 = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options2.render = render2;\n options2.staticRenderFns = staticRenderFns2;\n options2._compiled = true;\n }\n if (functionalTemplate) {\n options2.functional = true;\n }\n if (scopeId) {\n options2._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options2.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options2.functional) {\n options2._injectStyles = hook;\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options: options2\n };\n}\nconst __cssModules$5 = {};\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$2, staticRenderFns$2, false, __vue2_injectStyles$5, null, null, null);\nfunction __vue2_injectStyles$5(context) {\n for (let o in __cssModules$5) {\n this[o] = __cssModules$5[o];\n }\n}\nvar PrivatePopperContent = /* @__PURE__ */ function() {\n return __component__$5.exports;\n}();\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar __vue2_script$4 = {\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default() {\n return this.$options.vPopperTheme;\n }\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n};\nvar render$1 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"target-nodes\": _vm.getTargetNodes, \"reference-node\": function() {\n return _vm.$refs.reference;\n }, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var show = ref.show;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"div\", { ref: \"reference\", staticClass: \"v-popper\", class: [\n _vm.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ] }, [_vm._t(\"default\", null, { \"shown\": isShown, \"show\": show, \"hide\": hide }), _c(\"PopperContent\", { ref: \"popperContent\", attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm._t(\"popper\", null, { \"shown\": isShown, \"hide\": hide })], 2)], 2)];\n } }], null, true) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns$1 = [];\nconst __cssModules$4 = {};\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$1, staticRenderFns$1, false, __vue2_injectStyles$4, null, null, null);\nfunction __vue2_injectStyles$4(context) {\n for (let o in __cssModules$4) {\n this[o] = __cssModules$4[o];\n }\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ function() {\n return __component__$4.exports;\n}();\nvar __vue2_script$3 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n});\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render$2, __vue2_staticRenderFns$2;\nconst __cssModules$3 = {};\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, __vue2_render$2, __vue2_staticRenderFns$2, false, __vue2_injectStyles$3, null, null, null);\nfunction __vue2_injectStyles$3(context) {\n for (let o in __cssModules$3) {\n this[o] = __cssModules$3[o];\n }\n}\nvar PrivateDropdown = /* @__PURE__ */ function() {\n return __component__$3.exports;\n}();\nvar __vue2_script$2 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n});\nlet __vue2_render$1, __vue2_staticRenderFns$1;\nconst __cssModules$2 = {};\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(__vue2_script$2, __vue2_render$1, __vue2_staticRenderFns$1, false, __vue2_injectStyles$2, null, null, null);\nfunction __vue2_injectStyles$2(context) {\n for (let o in __cssModules$2) {\n this[o] = __cssModules$2[o];\n }\n}\nvar PrivateMenu = /* @__PURE__ */ function() {\n return __component__$2.exports;\n}();\nvar __vue2_script$1 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n});\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar PrivateTooltip = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar __vue2_script = {\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default() {\n return getDefaultConfig(this.theme, \"html\");\n }\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default() {\n return getDefaultConfig(this.theme, \"loadingContent\");\n }\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent(value) {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n};\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, on: { \"apply-show\": _vm.onShow, \"apply-hide\": _vm.onHide }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"PopperContent\", { ref: \"popperContent\", class: {\n \"v-popper--tooltip-loading\": _vm.loading\n }, attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm.html ? _c(\"div\", { domProps: { \"innerHTML\": _vm._s(_vm.finalContent) } }) : _c(\"div\", { domProps: { \"textContent\": _vm._s(_vm.finalContent) } })])];\n } }]) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns = [];\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nfunction createTooltip(el, value, modifiers) {\n const options2 = getOptions(el, value, modifiers);\n const tooltipApp = el.$_popper = new Vue({\n mixins: [\n PrivatePopperMethods\n ],\n data() {\n return {\n options: options2\n };\n },\n render(h) {\n const _a = this.options, {\n theme,\n html,\n content,\n loadingContent\n } = _a, otherOptions = __objRest(_a, [\n \"theme\",\n \"html\",\n \"content\",\n \"loadingContent\"\n ]);\n return h(PrivateTooltipDirective, {\n props: {\n theme,\n html,\n content,\n loadingContent\n },\n attrs: otherOptions,\n ref: \"popper\"\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n tooltipApp.$mount(mountTarget);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n return tooltipApp;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n el.$_popper.$destroy();\n delete el.$_popper;\n delete el.$_popperOldShown;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let tooltipApp;\n if (el.$_popper) {\n tooltipApp = el.$_popper;\n tooltipApp.options = options2;\n } else {\n tooltipApp = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? tooltipApp.show() : tooltipApp.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n bind,\n update: bind,\n unbind(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n bind(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n update(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = PrivateDropdown;\nconst Menu = PrivateMenu;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = PrivateTooltip;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", PrivateTooltip);\n app.component(\"VTooltip\", PrivateTooltip);\n app.component(\"v-dropdown\", PrivateDropdown);\n app.component(\"VDropdown\", PrivateDropdown);\n app.component(\"v-menu\", PrivateMenu);\n app.component(\"VMenu\", PrivateMenu);\n}\nconst plugin = {\n version: \"1.0.0-beta.19\",\n install,\n options: config\n};\nlet GlobalVue = null;\nif (typeof window !== \"undefined\") {\n GlobalVue = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\n// NOTE: separate `:not()` selectors has broader browser support than the newer\n// `:not([inert], [inert] *)` (Feb 2023)\n// CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes\n// the entire query to fail, resulting in no nodes found, which will break a lot\n// of things... so we have to rely on JS to identify nodes inside an inert container\nvar candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];\nvar candidateSelector = /* #__PURE__ */candidateSelectors.join(',');\nvar NoElement = typeof Element === 'undefined';\nvar matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function (element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\n\n/**\n * Determines if a node is inert or in an inert ancestor.\n * @param {Element} [node]\n * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to\n * see if any of them are inert. If false, only `node` itself is considered.\n * @returns {boolean} True if inert itself or by way of being in an inert ancestor.\n * False if `node` is falsy.\n */\nvar isInert = function isInert(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n // CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`\n // JS API property; we have to check the attribute, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's an active element\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'inert');\n var inert = inertAtt === '' || inertAtt === 'true';\n\n // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`\n // if it weren't for `matches()` not being a function on shadow roots; the following\n // code works for any kind of node\n // CAREFUL: JSDom does not appear to support certain selectors like `:not([inert] *)`\n // so it likely would not support `:is([inert] *)` either...\n var result = inert || lookUp && node && isInert(node.parentNode); // recursive\n\n return result;\n};\n\n/**\n * Determines if a node's content is editable.\n * @param {Element} [node]\n * @returns True if it's content-editable; false if it's not or `node` is falsy.\n */\nvar isContentEditable = function isContentEditable(node) {\n var _node$getAttribute2;\n // CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have\n // to use the attribute directly to check for this, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's a non-editable element\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, 'contenteditable');\n return attValue === '' || attValue === 'true';\n};\n\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n // even if `includeContainer=false`, we still have to check it for inertness because\n // if it's inert, all its children are inert\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidateScope\n * @property {Element} scopeParent contains inner candidates\n * @property {Element[]} candidates list of candidates found in the scope parent\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.}\n */\nvar getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n // no need to look up since we're drilling down\n // anything inside this container will also be inert\n continue;\n }\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n // check candidate element\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n\n // iterate over shadow content if possible\n var shadowRoot = element.shadowRoot ||\n // check for an undisclosed shadow\n typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);\n\n // no inert look up because we're already drilling down and checking for inertness\n // on the way down, so all containers to this root node should have already been\n // vetted as non-inert\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\n\n/**\n * @private\n * Determines if the node has an explicitly specified `tabindex` attribute.\n * @param {HTMLElement} node\n * @returns {boolean} True if so; false if not.\n */\nvar hasTabIndex = function hasTabIndex(node) {\n return !isNaN(parseInt(node.getAttribute('tabindex'), 10));\n};\n\n/**\n * Determine the tab index of a given node.\n * @param {HTMLElement} node\n * @returns {number} Tab order (negative, 0, or positive number).\n * @throws {Error} If `node` is falsy.\n */\nvar getTabIndex = function getTabIndex(node) {\n if (!node) {\n throw new Error('No node provided');\n }\n if (node.tabIndex < 0) {\n // in Chrome,
    ,